X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FContainer%2FSALOME_ContainerManager.hxx;h=3633cffbb0fff13b8ec62bd218aecdf236a4864c;hb=af7e46b0d8d62882817e8030ec12c3403707aa61;hp=a0e7e19eb3961b3849395afd16ca6eaa7ad87219;hpb=9fa492d2ea817a233c4371234786a9577ab007e4;p=modules%2Fkernel.git diff --git a/src/Container/SALOME_ContainerManager.hxx b/src/Container/SALOME_ContainerManager.hxx index a0e7e19eb..3633cffbb 100644 --- a/src/Container/SALOME_ContainerManager.hxx +++ b/src/Container/SALOME_ContainerManager.hxx @@ -55,9 +55,6 @@ public: protected: // C++ methods - Engines::Container_ptr - StartPaCOPPContainer(const Engines::ContainerParameters& params); - Engines::Container_ptr FindContainer(const Engines::ContainerParameters& params, const Engines::ResourceList& possibleResources); @@ -71,6 +68,7 @@ protected: const std::string& container_exe="SALOME_Container"); std::string BuildCommandToLaunchLocalContainer(const Engines::ContainerParameters& params, + const std::string& machinesFile, const std::string& container_exe="SALOME_Container"); std::string BuildTempFileToLaunchRemoteContainer(const std::string& resource_name, @@ -86,19 +84,10 @@ protected: std::string BuildTemporaryFileName() const; - std::string GetMPIZeroNode(std::string machine); + std::string GetMPIZeroNode(const std::string machine, const std::string machinesFile); + + std::string machinesFile(const int nbproc); - // For PacO++ Parallel extension - typedef std::vector actual_launch_machine_t; - std::string BuildCommandToLaunchParallelContainer(const std::string& exe_name, - const Engines::ContainerParameters& params, - SALOME_ContainerManager::actual_launch_machine_t & vect_machine, - const std::string proxy_hostname = ""); - CORBA::Object_ptr - LaunchParallelContainer(const std::string& command, - const Engines::ContainerParameters& params, - const std::string& name, - SALOME_ContainerManager::actual_launch_machine_t & vect_machine); CORBA::ORB_var _orb; PortableServer::POA_var _poa; @@ -115,5 +104,47 @@ protected: //! different behaviour if $APPLI exists (SALOME Application) bool _isAppliSalomeDefined; + //! attribute that contains the number of processes used in batch mode by MPI containers + int _nbprocUsed; + + static omni_mutex _numInstanceMutex ; // lib and instance protection + + // Begin of PacO++ Parallel extension + typedef std::vector actual_launch_machine_t; + + bool checkPaCOParameters(Engines::ContainerParameters & params, std::string resource_selected); + + Engines::Container_ptr + StartPaCOPPContainer(const Engines::ContainerParameters& params, std::string resource_selected); + + + + std::string BuildCommandToLaunchPaCOProxyContainer(const Engines::ContainerParameters& params, + std::string machine_file_name, + std::string & proxy_hostname); + + std::string BuildCommandToLaunchPaCONodeContainer(const Engines::ContainerParameters& params, + const std::string & machine_file_name, + SALOME_ContainerManager::actual_launch_machine_t & vect_machine, + const std::string & proxy_hostname); + + void LogConfiguration(const std::string & log_type, + const std::string & exe_type, + const std::string & container_name, + const std::string & hostname, + std::string & begin, + std::string & end); + + CORBA::Object_ptr + LaunchPaCOProxyContainer(const std::string& command, + const Engines::ContainerParameters& params, + const std::string& hostname); + + bool + LaunchPaCONodeContainer(const std::string& command, + const Engines::ContainerParameters& params, + const std::string& name, + SALOME_ContainerManager::actual_launch_machine_t & vect_machine); + // End of PaCO++ Parallel extension }; #endif