 
 
 
 
 
 
 
  
 Next: Compiling the examples
 Up: DIET installation
 Previous: Installation stage
     Contents 
Diet client/server examples
A set of various examples of DIET server/client are provided within the DIET 
archive, here are some of the provided examples:
- Batch: A simple basic example on how to use the batch API is
  given here: no IN or INOUT args, the client receives as a result the number
  of processors on which the service has been executed. The service only writes
  to a file, with batch-independent mnemonics, some information on the batch
  system.
 
- BLAS: the server offers the dgemm BLAS
  functionality. We plan to offer all BLAS (Basic Linear Algebraic Subroutines)
  in the future. Since this function computes 
, it can
  also compute a matrix-matrix product, a sum of square matrices, etc. All
  these services are offered by the BLAS server. Two clients are designed to
  use these services: one (dgemm_client.c) is designed to use the
  dgemm_ function only, and the other one (client.c) to use
  all BLAS functions (but currently only dgemm_) and sub-services,
  such as MatPROD.
 
- dmat_manips: the server offers matrix manipulation routines:
  transposition (T), product (MatPROD) and sum
  (MatSUM, SqMatSUM for square matrices, and
  SqMatSUM_opt for square matrices but re-using the memory space of
  the second operand for the result). Any subset of these operations can be
  specified on the command line. The last two of them are given for
  compatibility with a BLAS server as explained below.
 
- file_transfer: the server computes the sizes of two input
  files and returns them. A third output parameter may be returned; the server
  decides randomly whether to send back the first file. This is to show how to
  manage a variable number of arguments: the profile declares all arguments
  that may be filled, even if they might not be all filled at each
  request/computation.
 
- ScaLAPACK: the server is designed to offer all
  ScaLAPACK  (parallel version of the LAPACK library) functions but only
  manages the pdgemm_ function so far. The pdgemm_ routine
  is the parallel version of the dgemm_ function, so that the server
  also offers all the same sub-services. Two clients are designed to use these
  services: one (pdgemm_client.c) is designed to use the
  pdgemm_ function only, and the other one (client.c) to use
  all ScaLAPACK functions and sub-services, such as MatPROD.
 
- workflow: The programs in this directory are examples that
  demonstrate how to use the workflow feature of diet.  The files representing
  the workflows that can be tested are stored in xml sub-directory. For each
  workflow, you can find the required services in the corresponding xml file
  (check the path attribute of each node element).  For the scalar manipulation
  example, you can use scalar_server that gathers four different
  elementary services.
Subsections
 
 
 
 
 
 
 
  
 Next: Compiling the examples
 Up: DIET installation
 Previous: Installation stage
     Contents 
DIET Team. 2010-05-26