From: Yoann Audouin Date: Tue, 28 Mar 2023 07:21:28 +0000 (+0200) Subject: Restoring parallelism on windows X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=383311a14b09ffa116af0126ece5ae4a9e058aa9;p=modules%2Fsmesh.git Restoring parallelism on windows --- diff --git a/src/SMESH/SMESH_DriverShape.cxx b/src/SMESH/SMESH_DriverShape.cxx index 9c3088ee4..6e8b3b8f5 100644 --- a/src/SMESH/SMESH_DriverShape.cxx +++ b/src/SMESH/SMESH_DriverShape.cxx @@ -40,11 +40,9 @@ //Occ include #include -#ifndef DISABLE_PSMESH #include #include namespace fs = boost::filesystem; -#endif /** * @brief Import the content of a shape file (STEP) into a TopDS_Shape object @@ -148,7 +146,6 @@ int exportBREPShape(const std::string shape_file, const TopoDS_Shape& aShape){ * @return error code */ int SMESH_DriverShape::importShape(const std::string shape_file, TopoDS_Shape& aShape){ -#ifndef DISABLE_PSMESH std::string type = fs::path(shape_file).extension().string(); boost::algorithm::to_lower(type); if (type == ".brep"){ @@ -158,9 +155,6 @@ int SMESH_DriverShape::importShape(const std::string shape_file, TopoDS_Shape& a } else { throw SALOME_Exception("Unknow format for importShape: " + type); } -#else - return 0; -#endif } /** @@ -172,7 +166,6 @@ int SMESH_DriverShape::importShape(const std::string shape_file, TopoDS_Shape& a * @return error code */ int SMESH_DriverShape::exportShape(const std::string shape_file, const TopoDS_Shape& aShape){ -#ifndef DISABLE_PSMESH std::string type = fs::path(shape_file).extension().string(); boost::algorithm::to_lower(type); if (type == ".brep"){ @@ -182,7 +175,4 @@ int SMESH_DriverShape::exportShape(const std::string shape_file, const TopoDS_Sh } else { throw SALOME_Exception("Unknow format for exportShape: " + type); } -#else - return 0; -#endif } diff --git a/src/SMESH/SMESH_Gen.cxx b/src/SMESH/SMESH_Gen.cxx index a1e6a816c..c69b2f9d9 100644 --- a/src/SMESH/SMESH_Gen.cxx +++ b/src/SMESH/SMESH_Gen.cxx @@ -57,15 +57,11 @@ #include -#ifndef DISABLE_PSMESH #include -#endif using namespace std; -#ifndef DISABLE_PSMESH #include namespace fs = boost::filesystem; -#endif // Environment variable separator #ifdef WIN32 @@ -307,10 +303,6 @@ bool SMESH_Gen::parallelComputeSubMeshes( const bool complexShapeFirst, const bool aShapeOnly) { -#ifdef DISABLE_PSMESH - throw SALOME_Exception("ParallelMesh is not working on Windows"); -#else - bool ret = true; SMESH_subMeshIteratorPtr smIt; @@ -386,7 +378,6 @@ bool SMESH_Gen::parallelComputeSubMeshes( aMesh.GetMeshDS()->Modified(); return ret; -#endif }; //============================================================================= diff --git a/src/SMESH/SMESH_Mesh.hxx b/src/SMESH/SMESH_Mesh.hxx index d889e1d99..16b545901 100644 --- a/src/SMESH/SMESH_Mesh.hxx +++ b/src/SMESH/SMESH_Mesh.hxx @@ -49,10 +49,8 @@ #include #include -#ifndef DISABLE_PSMESH #include #include -#endif #include #ifdef WIN32 @@ -404,10 +402,8 @@ class SMESH_EXPORT SMESH_Mesh virtual bool IsParallel(){std::cout << "Should not pass here: IsParallel" << std::endl;return false;}; -#ifndef DISABLE_PSMESH virtual boost::filesystem::path GetTmpFolder() {return "";}; virtual boost::asio::thread_pool* GetPool() {return NULL;}; -#endif virtual bool ComputeSubMeshes( SMESH_Gen* gen, @@ -468,9 +464,7 @@ protected: TCallUp* _callUp; // Mutex for multhitreading write in SMESH_Mesh -#ifndef DISABLE_PSMESH boost::mutex _my_lock; -#endif int _NbThreads=-1; protected: diff --git a/src/SMESH/SMESH_ParallelMesh.cxx b/src/SMESH/SMESH_ParallelMesh.cxx index a56658892..56a025a34 100644 --- a/src/SMESH/SMESH_ParallelMesh.cxx +++ b/src/SMESH/SMESH_ParallelMesh.cxx @@ -32,14 +32,10 @@ #include #endif -#ifndef DISABLE_PSMESH #include namespace fs=boost::filesystem; -#endif -#ifndef DISABLE_PSMESH #include -#endif #include @@ -58,11 +54,7 @@ SMESH_ParallelMesh::SMESH_ParallelMesh(int theLocalId, theDocument) { MESSAGE("SMESH_ParallelMesh::SMESH_ParallelMesh(int localId)"); -#ifndef DISABLE_PSMESH _NbThreads = std::thread::hardware_concurrency(); -#else - _NbThreads = 0; -#endif CreateTmpFolder(); }; @@ -82,11 +74,9 @@ SMESH_ParallelMesh::~SMESH_ParallelMesh() //============================================================================= void SMESH_ParallelMesh::CreateTmpFolder() { -#ifndef DISABLE_PSMESH // Temporary folder that will be used by parallel computation tmp_folder = fs::temp_directory_path()/fs::unique_path(fs::path("SMESH_%%%%-%%%%")); fs::create_directories(tmp_folder); -#endif } // //============================================================================= @@ -96,9 +86,7 @@ void SMESH_ParallelMesh::CreateTmpFolder() //============================================================================= void SMESH_ParallelMesh::DeleteTmpFolder() { -#ifndef DISABLE_PSMESH fs::remove_all(tmp_folder); -#endif } bool SMESH_ParallelMesh::ComputeSubMeshes( diff --git a/src/SMESH/SMESH_ParallelMesh.hxx b/src/SMESH/SMESH_ParallelMesh.hxx index 361d7fba1..09a520681 100644 --- a/src/SMESH/SMESH_ParallelMesh.hxx +++ b/src/SMESH/SMESH_ParallelMesh.hxx @@ -42,7 +42,6 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh virtual ~SMESH_ParallelMesh(); -#ifndef DISABLE_PSMESH void Lock() override {_my_lock.lock();}; void Unlock() override {_my_lock.unlock();}; @@ -61,22 +60,6 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh boost::filesystem::path GetTmpFolder() override {return tmp_folder;}; boost::asio::thread_pool* GetPool() override {return _pool;}; -#else - void Lock() override {}; - void Unlock() override {}; - - int GetNbThreads() override {return 0;}; - void SetNbThreads(long nbThreads) {(void) nbThreads;}; - - void InitPoolThreads() override {}; - void DeletePoolThreads() override {}; - void wait() override {}; - - bool IsParallel() override {return false;}; - - void CreateTmpFolder(); - void DeleteTmpFolder(); -#endif bool ComputeSubMeshes( SMESH_Gen* gen, @@ -94,9 +77,7 @@ class SMESH_EXPORT SMESH_ParallelMesh: public SMESH_Mesh SMESH_ParallelMesh():SMESH_Mesh() {}; SMESH_ParallelMesh(const SMESH_ParallelMesh& aMesh):SMESH_Mesh(aMesh) {}; private: -#ifndef DISABLE_PSMESH boost::filesystem::path tmp_folder; boost::asio::thread_pool * _pool = nullptr; //thread pool for computation -#endif }; #endif