/[escript]/trunk/escript/src/Utils.h
ViewVC logotype

Contents of /trunk/escript/src/Utils.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2548 - (show annotations)
Mon Jul 20 06:20:06 2009 UTC (10 years, 3 months ago) by jfenwick
File MIME type: text/plain
File size: 1803 byte(s)
Updating copyright notices
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2009 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 #if !defined escript_Utils_H
16 #define escript_Utils_H
17 #include "system_dep.h"
18
19 namespace escript {
20
21 /**
22 \brief
23 some functions
24
25 */
26
27 /**
28 \brief
29 return the latest SVN version number
30 */
31 ESCRIPT_DLL_API int getSvnVersion();
32
33 /**
34 \brief
35 print a message about how many MPI CPUs and OpenMP threads we're using
36 */
37 ESCRIPT_DLL_API void printParallelThreadCnt();
38
39 /**
40 \brief
41 set the number of threads
42 */
43 ESCRIPT_DLL_API void setNumberOfThreads(const int num_threads);
44
45 /**
46 \brief
47 returns the number of threads
48 */
49 ESCRIPT_DLL_API int getNumberOfThreads();
50
51 /**
52 \brief
53 returns the total number of available MPI processes for MPI_COMM_WORLD
54 */
55 ESCRIPT_DLL_API int getMPISizeWorld();
56
57 /**
58 \brief
59 returns the MPI processor number within MPI_COMM_WORLD
60 */
61 ESCRIPT_DLL_API int getMPIRankWorld();
62 /**
63 \brief
64 returns the maximum value of an integer over all processors within MPI_COMM_WORLD
65 */
66 ESCRIPT_DLL_API int getMPIWorldMax(const int val);
67
68
69 /**
70 \brief performs a barrier synchronization across all processors.
71 */
72
73 ESCRIPT_DLL_API void MPIBarrierWorld();
74
75 /**
76 \brief
77 returns machine precision
78 */
79 ESCRIPT_DLL_API double getMachinePrecision();
80 /*
81 \brief
82 return largest positive float
83 */
84 ESCRIPT_DLL_API double getMaxFloat();
85
86 } // end of namespace
87 #endif

  ViewVC Help
Powered by ViewVC 1.1.26