X-Git-Url: http://git.euphorik.ch/index.cgi?a=blobdiff_plain;ds=sidebyside;f=WCudaMSE%2FBilatTools_OMP%2Fsrc%2Fcore%2FOMP_Tools%2Fheader%2FOmpTools.h;fp=WCudaMSE%2FBilatTools_OMP%2Fsrc%2Fcore%2FOMP_Tools%2Fheader%2FOmpTools.h;h=6896e6ceb18daa5fde8adce016aa87acb94823b5;hb=8d08c12b29c2a14684f35c023ee39e694bb80d25;hp=0000000000000000000000000000000000000000;hpb=226de81f7e1f1fbf4ac79d0d089e8a05ec7159a0;p=GPU.git diff --git a/WCudaMSE/BilatTools_OMP/src/core/OMP_Tools/header/OmpTools.h b/WCudaMSE/BilatTools_OMP/src/core/OMP_Tools/header/OmpTools.h new file mode 100755 index 0000000..6896e6c --- /dev/null +++ b/WCudaMSE/BilatTools_OMP/src/core/OMP_Tools/header/OmpTools.h @@ -0,0 +1,68 @@ +#ifndef OMP_TOOLS_H_ +#define OMP_TOOLS_H_ + +#include + +/*----------------------------------------------------------------------*\ + |* Declaration *| + \*---------------------------------------------------------------------*/ + +class OmpTools + { + public: + + /*--------------------------------------*\ + |* Constructor *| + \*-------------------------------------*/ + + OmpTools(); + + /*--------------------------------------*\ + |* Destructor *| + \*-------------------------------------*/ + + virtual ~OmpTools(); + + /*--------------------------------------*\ + |* Methodes *| + \*-------------------------------------*/ + + /** + * autant de thread que de core + */ + static int setAndGetNaturalGranularity(); + + static void setNbThread(int nbThread); + static int getNbCore(); + static int getNbThread(); + static int getTid(); + + /** + * Thread safe + * [0,1[ + */ + static double uniform01(void); + + /** + * Thread safe + * [a,b[ + */ + static double uniform(double a, double b); + + private: + + /*--------------------------------------*\ + |* Methodes *| + \*-------------------------------------*/ + + /*--------------------------------------*\ + |* Attributs *| + \*-------------------------------------*/ + + }; + +#endif + +/*----------------------------------------------------------------------*\ + |* End *| + \*---------------------------------------------------------------------*/