From: vsr Date: Wed, 18 Dec 2013 15:11:02 +0000 (+0000) Subject: Merge from V7_3_BR branch 18/12/2013 X-Git-Tag: V7_4_0a1~4 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=49244ac6010c5a283ff13013a0b540e2a575c1db;p=modules%2Fjobmanager.git Merge from V7_3_BR branch 18/12/2013 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 73959a0..bcb22e8 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ CMAKE_POLICY(SET CMP0003 NEW) STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7) -SET(${PROJECT_NAME_UC}_MINOR_VERSION 2) +SET(${PROJECT_NAME_UC}_MINOR_VERSION 3) SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) SET(${PROJECT_NAME_UC}_VERSION ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index b03ed9e..03497df 100755 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -17,92 +17,15 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# This file mainly prepares the environment in which sphinx should run: -# this sets the PYTHONPATH and LD_LIBRARY_PATH to include OMNIORB, DOCUTILS, SETUPTOOLS, etc ... - -# Prepare Sphinx options -SET(SPHINXOPTS -) -SET(SOURCEDIR - ${CMAKE_CURRENT_SOURCE_DIR} -) -SET(SPHINXBUILD - sphinx-build -) -SET(PAPEROPT_a4 - -D - latex_paper_size=a4 -) -SET(ALLSPHINXOPTS - -d - doctrees - ${PAPEROPT_a4} - ${SPHINXOPTS} - ${SOURCEDIR} -) - SALOME_CONFIGURE_FILE(conf.py.in conf.py) -# Write the shell file preparing the env for the Sphinx run: -# This uses the paths to SPHINX, DOCUTILS and SETUPTOOLS: -# Their root dir were found when looking for Sphinx (FindSalomeSphinx.cmake): - -SET(_pydir python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}) -IF(WIN32) - STRING(REPLACE "/" "\\" SCR "@SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}\\lib\\${_pydir}\\site-packages\\salome\;%PYTHONPATH% - @SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}\\bin\\salome\;%PYTHONPATH% - @SET PATH=${CMAKE_INSTALL_PREFIX}\\lib\\salome\;%PATH% - @SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}\\${SALOME_INSTALL_PYTHON}\;%PYTHONPATH% - @SET PYTHONPATH=${CMAKE_INSTALL_PREFIX}\\${SALOME_INSTALL_PYTHON_SHARED}\;%PYTHONPATH% - @SET PYTHONPATH=${HDF5_ROOT_DIR}\\lib\;%PYTHONPATH% - @SET PYTHONPATH=${MPI_ROOT_DIR}\\lib\;%PYTHONPATH% - - @SET PYTHONPATH=${KERNEL_ROOT_DIR}\\bin\\salome\;%PYTHONPATH% - @SET PATH=${KERNEL_ROOT_DIR}\\lib\\salome\;%PATH% - @SET PYTHONPATH=${KERNEL_ROOT_DIR}\\${SALOME_INSTALL_PYTHON}\;%PYTHONPATH% - @SET PYTHONPATH=${KERNEL_ROOT_DIR}\\${SALOME_INSTALL_PYTHON_SHARED}\;%PYTHONPATH% - - @SET PYTHONPATH=${OMNIORB_ROOT_DIR}\\lib\\x86_win32\;%PYTHONPATH% - @SET PYTHONPATH=${OMNIORB_ROOT_DIR}\\lib\\python\;%PYTHONPATH% - @SET PATH=${OMNIORB_ROOT_DIR}\\lib\\x86_win32\;%PATH% - ") - SET(EXT "bat") - SET(CALL_STR "call") -ELSE(WIN32) - SET(SCR " export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/lib/${_pydir}/site-packages/salome:\${PYTHONPATH} - export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/bin/salome:\${PYTHONPATH} - export LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib/salome:\${LD_LIBRARY_PATH} - export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON}:\${PYTHONPATH} - export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/${SALOME_INSTALL_PYTHON_SHARED}:\${PYTHONPATH} - export PYTHONPATH=${HDF5_ROOT_DIR}/lib:\${PYTHONPATH} - export PYTHONPATH=${MPI_ROOT_DIR}/lib:\${PYTHONPATH} - - export PYTHONPATH=${KERNEL_ROOT_DIR}/bin/salome:\${PYTHONPATH} - export LD_LIBRARY_PATH=${KERNEL_ROOT_DIR}/lib/salome:\${LD_LIBRARY_PATH} - export PYTHONPATH=${KERNEL_ROOT_DIR}/${SALOME_INSTALL_PYTHON}:\${PYTHONPATH} - export PYTHONPATH=${KERNEL_ROOT_DIR}/${SALOME_INSTALL_PYTHON_SHARED}:\${PYTHONPATH} - - export PYTHONPATH=${OMNIORB_ROOT_DIR}/lib:\${PYTHONPATH} - export PYTHONPATH=${OMNIORB_ROOT_DIR}/lib/${_pydir}/site-packages:\${PYTHONPATH} - export PYTHONPATH=${OMNIORB_ROOT_DIR}/lib64/${_pydir}/site-packages:\${PYTHONPATH} - export PYTHONPATH=${OMNIORBPY_ROOT_DIR}/lib:\${PYTHONPATH} - export PYTHONPATH=${OMNIORBPY_ROOT_DIR}/lib/${_pydir}/site-packages:\${PYTHONPATH} - export PYTHONPATH=${OMNIORBPY_ROOT_DIR}/lib64/${_pydir}/site-packages:\${PYTHONPATH} - export LD_LIBRARY_PATH=${OMNIORB_ROOT_DIR}/lib:\${LD_LIBRARY_PATH} - export PYTHONPATH=${SETUPTOOLS_ROOT_DIR}/lib/${_pydir}/site-packages:\${PYTHONPATH} - export PYTHONPATH=${DOCUTILS_ROOT_DIR}/lib/${_pydir}/site-packages:\${PYTHONPATH} - export PYTHONPATH=${SPHINX_ROOT_DIR}/lib/${_pydir}/site-packages:\${PYTHONPATH} -" - ) - SET(EXT "sh") - SET(CALL_STR ".") -ENDIF(WIN32) - -FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/env_s.${EXT} "${SCR}") +SET(_cmd_options -c ${CMAKE_CURRENT_BINARY_DIR} -b html -d doctrees -D latex_paper_size=a4 ${CMAKE_CURRENT_SOURCE_DIR} html) +SALOME_GENERATE_ENVIRONMENT_SCRIPT(_cmd env_script "${SPHINX_EXECUTABLE}" "${_cmd_options}") -ADD_CUSTOM_TARGET(html_docs ${CALL_STR} ${CMAKE_CURRENT_BINARY_DIR}/env_s.${EXT} && ${SPHINXBUILD} -c ${PROJECT_BINARY_DIR}/doc -b html ${ALLSPHINXOPTS} html) +ADD_CUSTOM_TARGET(html_docs COMMAND ${_cmd}) INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target html_docs)") -INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${SALOME_INSTALL_DOC}/gui/JOBMANAGER) +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_INSTALL_DOC}/gui/JOBMANAGER) -SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES html) +SET(make_clean_files html doctrees) +SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}") diff --git a/doc/conf.py.in b/doc/conf.py.in index 8e2a17a..7e4cc29 100644 --- a/doc/conf.py.in +++ b/doc/conf.py.in @@ -46,9 +46,9 @@ copyright = '2010-2013 CEA/DEN, EDF R&D, A. Ribes' # built documents. # # The short X.Y version. -version = '@SHORT_VERSION@' +version = '@SALOMEJOBMANAGER_MAJOR_VERSION@.@SALOMEJOBMANAGER_MINOR_VERSION@' # The full version, including alpha/beta/rc tags. -release = '@VERSION@' +release = '@SALOMEJOBMANAGER_VERSION@' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -67,6 +67,11 @@ release = '@VERSION@' # for source files. exclude_trees = ['.build','ref','images','CVS'] +# A list of glob-style patterns that should be excluded when looking for source +# files. They are matched against the source file names relative to the +# source directory, using slashes as directory separators on all platforms. +exclude_patterns = ['**/CVS'] + # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None diff --git a/doc/images/jobmanager_job_workflow_3.png b/doc/images/jobmanager_job_workflow_3.png index 7b25398..48508f0 100644 Binary files a/doc/images/jobmanager_job_workflow_3.png and b/doc/images/jobmanager_job_workflow_3.png differ diff --git a/doc/images/jobmanager_job_workflow_4.png b/doc/images/jobmanager_job_workflow_4.png index 6e2e147..49f7ca7 100644 Binary files a/doc/images/jobmanager_job_workflow_4.png and b/doc/images/jobmanager_job_workflow_4.png differ diff --git a/doc/job.rst b/doc/job.rst index ecb98a8..b5639e1 100644 --- a/doc/job.rst +++ b/doc/job.rst @@ -61,10 +61,13 @@ The second table below describes the attributes of computation requirements. duration is set to 0, the time will be set to the default value of the batch queue selected. **Number of cpu** It's the number of cpus/cores requested. -**Memory** It's the amount of memory per node expected. +**Memory** It's the amount of required memory. It is generally specified **per node**. + With some batch mangers, it is possible to specify the required memory + **per core** (only available with SLURM for now). **Queue** It's optional. It permits to choose a specific batch queue on the targeted cluster. If it is not defined, most of the batch systems will affect your job to the queue that fits with the other attributes requirements. +**Exclusive** It indicates if the job can share nodes with other jobs or not. ======================== ============================================================================== Job's states diff --git a/doc/jobmanager_gui.rst b/doc/jobmanager_gui.rst index 7269491..dca1fe1 100644 --- a/doc/jobmanager_gui.rst +++ b/doc/jobmanager_gui.rst @@ -88,14 +88,12 @@ will be executed. You can also define the batch queue that you want to use. **Create wizard page 3** -The fourth page (see :ref:`figure_jobmanager_job_workflow_3`) permits to define the batch parameters related -to the job. It's mandatory to define the *Remote work directory* that is the directory where the job will be executed. -Note that if a work directory is defined for the selected resource, the work directory for the job will be -created as a subdirectory of the resource work directory by default. The name of this subdirectory will -contain the current date and time. Of course, you can override this default value. -Input files defined in page 4 will be copied in this work directory. You also have to define the maximum duration +The fourth page (see :ref:`figure_jobmanager_job_workflow_3`) allows to define the resource requirements +and limits for the job. You can define the maximum duration (set 0 hours and 0 minutes to use the default value for the queue), -the amount of memory needed and the number of processors/cores of the job. +the amount of memory needed (per node or per core if the batch manager supports it), the number of +processors/cores for the job, and whether it should use nodes exclusively (not sharing them with other +jobs). .. _figure_jobmanager_job_workflow_3: @@ -106,8 +104,14 @@ the amount of memory needed and the number of processors/cores of the job. The fifth page (see :ref:`figure_jobmanager_job_workflow_4`) permits to add the input and output files. Input files are files located into the user -computer that have to be transferred into the execution resource. In this page, you could also define the result -directory where job's results and logs will be copied. +computer that have to be transferred into the execution resource. Output files will be copied to the user +computer at the end of the job. +It's mandatory to define the *Remote working directory* that is the directory where the job will be executed. +Note that if a working directory is defined for the selected resource, the working directory for the job will be +created as a subdirectory of the resource working directory by default. The name of this subdirectory will +contain the current date and time. Of course, you can override this default value. +Input files will be copied in this working directory. +In this page, you can also define the result directory where the job's results and logs will be copied. .. _figure_jobmanager_job_workflow_4: diff --git a/src/genericgui/BL_GenericGui.cxx b/src/genericgui/BL_GenericGui.cxx index e20a217..d254a89 100644 --- a/src/genericgui/BL_GenericGui.cxx +++ b/src/genericgui/BL_GenericGui.cxx @@ -54,6 +54,7 @@ BL::GenericGui::createDockWidgets() /* Summary */ _dw_summary = new QDockWidget(_dock_parent); _dw_summary->setWindowTitle("Summary"); + _dw_summary->setObjectName("SummaryDockWidget"); _summary = new BL::Summary(_dw_summary, _jobs_manager); _summary->setModel(_model); QScrollArea * scroll_widget_summary = new QScrollArea(_dw_summary); @@ -64,6 +65,7 @@ BL::GenericGui::createDockWidgets() /* ResourceCatalog */ _dw_resource_catalog = new QDockWidget(_dock_parent); _dw_resource_catalog->setWindowTitle("Resource Catalog"); + _dw_resource_catalog->setObjectName("ResourceCatalogDockWidget"); _resource_catalog = new JM::ResourceCatalog(_dw_resource_catalog, _salome_services, false); QScrollArea * scroll_widget_resource = new QScrollArea(_dw_resource_catalog); scroll_widget_resource->setWidget(_resource_catalog); diff --git a/src/genericgui/BL_JobsManager_QT.cxx b/src/genericgui/BL_JobsManager_QT.cxx index 5f1f15e..16c65ce 100644 --- a/src/genericgui/BL_JobsManager_QT.cxx +++ b/src/genericgui/BL_JobsManager_QT.cxx @@ -94,6 +94,7 @@ BL::JobsManager_QT::JobsManager_QT(QWidget * parent, BL::GenericGui * main_gui, scroll_widget->setWidgetResizable(true); setWidget(scroll_widget); setWindowTitle("Job Manager"); + setObjectName("JobManagerDockWidget"); } BL::JobsManager_QT::~JobsManager_QT() diff --git a/src/salomegui/resources/SalomeApp.xml.in b/src/salomegui/resources/SalomeApp.xml.in index c6376d4..6a3504e 100644 --- a/src/salomegui/resources/SalomeApp.xml.in +++ b/src/salomegui/resources/SalomeApp.xml.in @@ -24,7 +24,7 @@ - +