]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
Restoring parallelism on windows yan/parallel_mesh_win_restore
authorYoann Audouin <yoann.audouin@edf.fr>
Tue, 28 Mar 2023 07:21:28 +0000 (09:21 +0200)
committerYoann Audouin <yoann.audouin@edf.fr>
Tue, 28 Mar 2023 07:21:28 +0000 (09:21 +0200)
src/SMESH/SMESH_DriverShape.cxx
src/SMESH/SMESH_Gen.cxx
src/SMESH/SMESH_Mesh.hxx
src/SMESH/SMESH_ParallelMesh.cxx
src/SMESH/SMESH_ParallelMesh.hxx

index 9c3088ee42f936bc1d1f48a677182c5614348a33..6e8b3b8f50eddf2685d3e6e27f8fb9d73be1da9b 100644 (file)
 //Occ include
 #include <TopoDS.hxx>
 
-#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 #include <boost/algorithm/string.hpp>
 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
 }
index a1e6a816c993ae6236266c04b6a7f831c3d1075f..c69b2f9d902f50ff3515201afcf382fed55e200c 100644 (file)
 
 #include <Basics_Utils.hxx>
 
-#ifndef DISABLE_PSMESH
 #include <boost/asio.hpp>
-#endif
 
 using namespace std;
-#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 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
 };
 
 //=============================================================================
index d889e1d999809fde2be074ad3eb09fcb8a2ced83..16b5459012bd81c04f42adec5b8c05ffa83659d3 100644 (file)
 #include <vector>
 #include <ostream>
 
-#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 #include <boost/asio/thread_pool.hpp>
-#endif
 #include <boost/thread.hpp>
 
 #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:
index a56658892e6c33658098973389bf67cec72fa35d..56a025a34c12b691d39c072f71217887c57d0ff4 100644 (file)
   #include <windows.h>
 #endif
 
-#ifndef DISABLE_PSMESH
 #include <boost/filesystem.hpp>
 namespace fs=boost::filesystem;
-#endif
 
-#ifndef DISABLE_PSMESH
 #include <boost/asio.hpp>
-#endif
 
 #include <utilities.h>
 
@@ -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(
index 361d7fba1100a9f0dd17f8bbfcf9314d827fd15b..09a520681a69a8a2f5b3f7456a8d6674b2ebaec3 100644 (file)
@@ -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