mpi.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. *
  3. * This file is part of MUMPS 4.10.0, built on Tue May 10 12:56:32 UTC 2011
  4. *
  5. *
  6. * This version of MUMPS is provided to you free of charge. It is public
  7. * domain, based on public domain software developed during the Esprit IV
  8. * European project PARASOL (1996-1999). Since this first public domain
  9. * version in 1999, research and developments have been supported by the
  10. * following institutions: CERFACS, CNRS, ENS Lyon, INPT(ENSEEIHT)-IRIT,
  11. * INRIA, and University of Bordeaux.
  12. *
  13. * The MUMPS team at the moment of releasing this version includes
  14. * Patrick Amestoy, Maurice Bremond, Alfredo Buttari, Abdou Guermouche,
  15. * Guillaume Joslin, Jean-Yves L'Excellent, Francois-Henry Rouet, Bora
  16. * Ucar and Clement Weisbecker.
  17. *
  18. * We are also grateful to Emmanuel Agullo, Caroline Bousquet, Indranil
  19. * Chowdhury, Philippe Combes, Christophe Daniel, Iain Duff, Vincent Espirat,
  20. * Aurelia Fevre, Jacko Koster, Stephane Pralet, Chiara Puglisi, Gregoire
  21. * Richard, Tzvetomila Slavova, Miroslav Tuma and Christophe Voemel who
  22. * have been contributing to this project.
  23. *
  24. * Up-to-date copies of the MUMPS package can be obtained
  25. * from the Web pages:
  26. * http://mumps.enseeiht.fr/ or http://graal.ens-lyon.fr/MUMPS
  27. *
  28. *
  29. * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
  30. * EXPRESSED OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
  31. *
  32. *
  33. * User documentation of any code that uses this software can
  34. * include this complete notice. You can acknowledge (using
  35. * references [1] and [2]) the contribution of this package
  36. * in any scientific publication dependent upon the use of the
  37. * package. You shall use reasonable endeavours to notify
  38. * the authors of the package of this publication.
  39. *
  40. * [1] P. R. Amestoy, I. S. Duff, J. Koster and J.-Y. L'Excellent,
  41. * A fully asynchronous multifrontal solver using distributed dynamic
  42. * scheduling, SIAM Journal of Matrix Analysis and Applications,
  43. * Vol 23, No 1, pp 15-41 (2001).
  44. *
  45. * [2] P. R. Amestoy and A. Guermouche and J.-Y. L'Excellent and
  46. * S. Pralet, Hybrid scheduling for the parallel solution of linear
  47. * systems. Parallel Computing Vol 32 (2), pp 136-156 (2006).
  48. *
  49. */
  50. #ifndef MUMPS_MPI_H
  51. #define MUMPS_MPI_H
  52. /* We define all symbols as extern "C" for users who call MUMPS with its
  53. libseq from a C++ driver. */
  54. #ifdef __cplusplus
  55. extern "C" {
  56. #endif
  57. /* This is the minimum to have the C interface of MUMPS work.
  58. * Most of the time, users who need this file have no call to MPI functions in
  59. * their own code. Hence it is not worth declaring all MPI functions here.
  60. * However if some users come to request some more stub functions of the MPI
  61. * standards, we may add them. But it is not worth doing it until then. */
  62. typedef int MPI_Comm; /* Simple type for MPI communicator */
  63. static MPI_Comm MPI_COMM_WORLD=(MPI_Comm)0;
  64. int MPI_Init(int *pargc, char ***pargv);
  65. int MPI_Comm_rank(int comm, int *rank);
  66. int MPI_Finalize(void);
  67. #ifdef __cplusplus
  68. }
  69. #endif
  70. #endif /* MUMPS_MPI_H */