.. _program_listing_file_include_gwmodelpp_IParallelizable.h: Program Listing for File IParallelizable.h ========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/gwmodelpp/IParallelizable.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef IPARALLELIZABLE_H #define IPARALLELIZABLE_H namespace gwm { enum ParallelType { SerialOnly = 1 << 0, OpenMP = 1 << 1, CUDA = 1 << 2 }; struct IParallelizable { virtual int parallelAbility() const = 0; virtual ParallelType parallelType() const = 0; virtual void setParallelType(const ParallelType& type) = 0; }; struct IParallelOpenmpEnabled { virtual void setOmpThreadNum(const int threadNum) = 0; }; struct IParallelCudaEnabled { virtual void setGPUId(const int gpuId) = 0; virtual void setGroupSize(const double size) = 0; }; } #endif // IPARALLELIZABLE_H