From 39a5e9bdca2a3367ee5bdea9cdb5d3ebee0b7a8b Mon Sep 17 00:00:00 2001 From: HTP-tools Developers Date: Wed, 6 Mar 2024 10:18:06 +0000 Subject: [PATCH] Deploy docs to v1.0.0 by GitHub Actions triggered by 24450b44b15c370c5c2d06be052aff8c1f9f0831 --- manual/v1.0.0/en/html/.buildinfo | 4 + ...368183531b8fc81c8d91cef6b17e1dc3c86493.png | Bin 0 -> 11643 bytes ...83531b8fc81c8d91cef6b17e1dc3c86493.png.map | 2 + manual/v1.0.0/en/html/_images/task_view.png | Bin 0 -> 132367 bytes .../en/html/_images/tutorial_dsqss_M1.png | Bin 0 -> 53676 bytes .../en/html/_images/tutorial_dsqss_M2.png | Bin 0 -> 53225 bytes .../en/html/_images/tutorial_hphi_gap.png | Bin 0 -> 36779 bytes manual/v1.0.0/en/html/_sources/index.rst.txt | 20 + .../html/_sources/moller/about/index.rst.txt | 74 ++ .../_sources/moller/appendix/index.rst.txt | 241 +++++ .../html/_sources/moller/basic-usage.rst.txt | 150 +++ .../_sources/moller/command/index.rst.txt | 95 ++ .../_sources/moller/filespec/index.rst.txt | 134 +++ .../en/html/_sources/moller/index.rst.txt | 15 + .../_sources/moller/tutorial/basic.rst.txt | 161 +++ .../_sources/moller/tutorial/dsqss.rst.txt | 104 ++ .../_sources/moller/tutorial/hphi.rst.txt | 105 ++ .../_sources/moller/tutorial/index.rst.txt | 9 + manual/v1.0.0/en/html/_static/alabaster.css | 708 ++++++++++++++ manual/v1.0.0/en/html/_static/basic.css | 925 ++++++++++++++++++ manual/v1.0.0/en/html/_static/custom.css | 1 + manual/v1.0.0/en/html/_static/doctools.js | 156 +++ .../en/html/_static/documentation_options.js | 13 + manual/v1.0.0/en/html/_static/file.png | Bin 0 -> 286 bytes manual/v1.0.0/en/html/_static/graphviz.css | 19 + .../v1.0.0/en/html/_static/language_data.js | 199 ++++ manual/v1.0.0/en/html/_static/minus.png | Bin 0 -> 90 bytes manual/v1.0.0/en/html/_static/plus.png | Bin 0 -> 90 bytes manual/v1.0.0/en/html/_static/pygments.css | 75 ++ manual/v1.0.0/en/html/_static/searchtools.js | 574 +++++++++++ .../en/html/_static/sphinx_highlight.js | 154 +++ manual/v1.0.0/en/html/_static/task_view.pdf | Bin 0 -> 15909 bytes manual/v1.0.0/en/html/_static/task_view.png | Bin 0 -> 132367 bytes manual/v1.0.0/en/html/genindex.html | 104 ++ manual/v1.0.0/en/html/index.html | 121 +++ manual/v1.0.0/en/html/moller/about/index.html | 173 ++++ .../v1.0.0/en/html/moller/appendix/index.html | 321 ++++++ manual/v1.0.0/en/html/moller/basic-usage.html | 259 +++++ .../v1.0.0/en/html/moller/command/index.html | 206 ++++ .../v1.0.0/en/html/moller/filespec/index.html | 253 +++++ manual/v1.0.0/en/html/moller/index.html | 152 +++ .../v1.0.0/en/html/moller/tutorial/basic.html | 336 +++++++ .../v1.0.0/en/html/moller/tutorial/dsqss.html | 203 ++++ .../v1.0.0/en/html/moller/tutorial/hphi.html | 209 ++++ .../v1.0.0/en/html/moller/tutorial/index.html | 144 +++ manual/v1.0.0/en/html/objects.inv | 5 + manual/v1.0.0/en/html/search.html | 123 +++ manual/v1.0.0/en/html/searchindex.js | 1 + manual/v1.0.0/en/moller-usersguide.pdf | Bin 0 -> 149195 bytes manual/v1.0.0/ja/html/.buildinfo | 4 + ...368183531b8fc81c8d91cef6b17e1dc3c86493.png | Bin 0 -> 11643 bytes ...83531b8fc81c8d91cef6b17e1dc3c86493.png.map | 2 + manual/v1.0.0/ja/html/_images/task_view.png | Bin 0 -> 132367 bytes .../ja/html/_images/tutorial_dsqss_M1.png | Bin 0 -> 53676 bytes .../ja/html/_images/tutorial_dsqss_M2.png | Bin 0 -> 53225 bytes .../ja/html/_images/tutorial_hphi_gap.png | Bin 0 -> 36779 bytes manual/v1.0.0/ja/html/_sources/index.rst.txt | 20 + .../html/_sources/moller/about/index.rst.txt | 76 ++ .../_sources/moller/appendix/index.rst.txt | 235 +++++ .../html/_sources/moller/basic-usage.rst.txt | 154 +++ .../_sources/moller/command/index.rst.txt | 96 ++ .../_sources/moller/filespec/index.rst.txt | 133 +++ .../ja/html/_sources/moller/index.rst.txt | 15 + .../_sources/moller/tutorial/basic.rst.txt | 141 +++ .../_sources/moller/tutorial/dsqss.rst.txt | 79 ++ .../_sources/moller/tutorial/hphi.rst.txt | 86 ++ .../_sources/moller/tutorial/index.rst.txt | 11 + manual/v1.0.0/ja/html/_static/alabaster.css | 708 ++++++++++++++ manual/v1.0.0/ja/html/_static/basic.css | 925 ++++++++++++++++++ manual/v1.0.0/ja/html/_static/custom.css | 1 + manual/v1.0.0/ja/html/_static/doctools.js | 156 +++ .../ja/html/_static/documentation_options.js | 13 + manual/v1.0.0/ja/html/_static/file.png | Bin 0 -> 286 bytes manual/v1.0.0/ja/html/_static/graphviz.css | 19 + .../v1.0.0/ja/html/_static/language_data.js | 26 + manual/v1.0.0/ja/html/_static/minus.png | Bin 0 -> 90 bytes manual/v1.0.0/ja/html/_static/plus.png | Bin 0 -> 90 bytes manual/v1.0.0/ja/html/_static/pygments.css | 75 ++ manual/v1.0.0/ja/html/_static/searchtools.js | 574 +++++++++++ .../ja/html/_static/sphinx_highlight.js | 154 +++ manual/v1.0.0/ja/html/_static/task_view.pdf | Bin 0 -> 15909 bytes manual/v1.0.0/ja/html/_static/task_view.png | Bin 0 -> 132367 bytes manual/v1.0.0/ja/html/_static/translations.js | 60 ++ manual/v1.0.0/ja/html/genindex.html | 105 ++ manual/v1.0.0/ja/html/index.html | 122 +++ manual/v1.0.0/ja/html/moller/about/index.html | 176 ++++ .../v1.0.0/ja/html/moller/appendix/index.html | 313 ++++++ manual/v1.0.0/ja/html/moller/basic-usage.html | 260 +++++ .../v1.0.0/ja/html/moller/command/index.html | 208 ++++ .../v1.0.0/ja/html/moller/filespec/index.html | 253 +++++ manual/v1.0.0/ja/html/moller/index.html | 153 +++ .../v1.0.0/ja/html/moller/tutorial/basic.html | 323 ++++++ .../v1.0.0/ja/html/moller/tutorial/dsqss.html | 179 ++++ .../v1.0.0/ja/html/moller/tutorial/hphi.html | 191 ++++ .../v1.0.0/ja/html/moller/tutorial/index.html | 145 +++ manual/v1.0.0/ja/html/objects.inv | Bin 0 -> 590 bytes manual/v1.0.0/ja/html/search.html | 123 +++ manual/v1.0.0/ja/html/searchindex.js | 1 + manual/v1.0.0/ja/moller-usersguide.pdf | Bin 0 -> 151271 bytes 99 files changed, 12863 insertions(+) create mode 100644 manual/v1.0.0/en/html/.buildinfo create mode 100644 manual/v1.0.0/en/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png create mode 100644 manual/v1.0.0/en/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png.map create mode 100644 manual/v1.0.0/en/html/_images/task_view.png create mode 100644 manual/v1.0.0/en/html/_images/tutorial_dsqss_M1.png create mode 100644 manual/v1.0.0/en/html/_images/tutorial_dsqss_M2.png create mode 100644 manual/v1.0.0/en/html/_images/tutorial_hphi_gap.png create mode 100644 manual/v1.0.0/en/html/_sources/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/about/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/appendix/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/basic-usage.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/command/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/filespec/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/tutorial/basic.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/tutorial/dsqss.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/tutorial/hphi.rst.txt create mode 100644 manual/v1.0.0/en/html/_sources/moller/tutorial/index.rst.txt create mode 100644 manual/v1.0.0/en/html/_static/alabaster.css create mode 100644 manual/v1.0.0/en/html/_static/basic.css create mode 100644 manual/v1.0.0/en/html/_static/custom.css create mode 100644 manual/v1.0.0/en/html/_static/doctools.js create mode 100644 manual/v1.0.0/en/html/_static/documentation_options.js create mode 100644 manual/v1.0.0/en/html/_static/file.png create mode 100644 manual/v1.0.0/en/html/_static/graphviz.css create mode 100644 manual/v1.0.0/en/html/_static/language_data.js create mode 100644 manual/v1.0.0/en/html/_static/minus.png create mode 100644 manual/v1.0.0/en/html/_static/plus.png create mode 100644 manual/v1.0.0/en/html/_static/pygments.css create mode 100644 manual/v1.0.0/en/html/_static/searchtools.js create mode 100644 manual/v1.0.0/en/html/_static/sphinx_highlight.js create mode 100644 manual/v1.0.0/en/html/_static/task_view.pdf create mode 100644 manual/v1.0.0/en/html/_static/task_view.png create mode 100644 manual/v1.0.0/en/html/genindex.html create mode 100644 manual/v1.0.0/en/html/index.html create mode 100644 manual/v1.0.0/en/html/moller/about/index.html create mode 100644 manual/v1.0.0/en/html/moller/appendix/index.html create mode 100644 manual/v1.0.0/en/html/moller/basic-usage.html create mode 100644 manual/v1.0.0/en/html/moller/command/index.html create mode 100644 manual/v1.0.0/en/html/moller/filespec/index.html create mode 100644 manual/v1.0.0/en/html/moller/index.html create mode 100644 manual/v1.0.0/en/html/moller/tutorial/basic.html create mode 100644 manual/v1.0.0/en/html/moller/tutorial/dsqss.html create mode 100644 manual/v1.0.0/en/html/moller/tutorial/hphi.html create mode 100644 manual/v1.0.0/en/html/moller/tutorial/index.html create mode 100644 manual/v1.0.0/en/html/objects.inv create mode 100644 manual/v1.0.0/en/html/search.html create mode 100644 manual/v1.0.0/en/html/searchindex.js create mode 100644 manual/v1.0.0/en/moller-usersguide.pdf create mode 100644 manual/v1.0.0/ja/html/.buildinfo create mode 100644 manual/v1.0.0/ja/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png create mode 100644 manual/v1.0.0/ja/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png.map create mode 100644 manual/v1.0.0/ja/html/_images/task_view.png create mode 100644 manual/v1.0.0/ja/html/_images/tutorial_dsqss_M1.png create mode 100644 manual/v1.0.0/ja/html/_images/tutorial_dsqss_M2.png create mode 100644 manual/v1.0.0/ja/html/_images/tutorial_hphi_gap.png create mode 100644 manual/v1.0.0/ja/html/_sources/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/about/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/appendix/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/basic-usage.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/command/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/filespec/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/tutorial/basic.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/tutorial/dsqss.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/tutorial/hphi.rst.txt create mode 100644 manual/v1.0.0/ja/html/_sources/moller/tutorial/index.rst.txt create mode 100644 manual/v1.0.0/ja/html/_static/alabaster.css create mode 100644 manual/v1.0.0/ja/html/_static/basic.css create mode 100644 manual/v1.0.0/ja/html/_static/custom.css create mode 100644 manual/v1.0.0/ja/html/_static/doctools.js create mode 100644 manual/v1.0.0/ja/html/_static/documentation_options.js create mode 100644 manual/v1.0.0/ja/html/_static/file.png create mode 100644 manual/v1.0.0/ja/html/_static/graphviz.css create mode 100644 manual/v1.0.0/ja/html/_static/language_data.js create mode 100644 manual/v1.0.0/ja/html/_static/minus.png create mode 100644 manual/v1.0.0/ja/html/_static/plus.png create mode 100644 manual/v1.0.0/ja/html/_static/pygments.css create mode 100644 manual/v1.0.0/ja/html/_static/searchtools.js create mode 100644 manual/v1.0.0/ja/html/_static/sphinx_highlight.js create mode 100644 manual/v1.0.0/ja/html/_static/task_view.pdf create mode 100644 manual/v1.0.0/ja/html/_static/task_view.png create mode 100644 manual/v1.0.0/ja/html/_static/translations.js create mode 100644 manual/v1.0.0/ja/html/genindex.html create mode 100644 manual/v1.0.0/ja/html/index.html create mode 100644 manual/v1.0.0/ja/html/moller/about/index.html create mode 100644 manual/v1.0.0/ja/html/moller/appendix/index.html create mode 100644 manual/v1.0.0/ja/html/moller/basic-usage.html create mode 100644 manual/v1.0.0/ja/html/moller/command/index.html create mode 100644 manual/v1.0.0/ja/html/moller/filespec/index.html create mode 100644 manual/v1.0.0/ja/html/moller/index.html create mode 100644 manual/v1.0.0/ja/html/moller/tutorial/basic.html create mode 100644 manual/v1.0.0/ja/html/moller/tutorial/dsqss.html create mode 100644 manual/v1.0.0/ja/html/moller/tutorial/hphi.html create mode 100644 manual/v1.0.0/ja/html/moller/tutorial/index.html create mode 100644 manual/v1.0.0/ja/html/objects.inv create mode 100644 manual/v1.0.0/ja/html/search.html create mode 100644 manual/v1.0.0/ja/html/searchindex.js create mode 100644 manual/v1.0.0/ja/moller-usersguide.pdf diff --git a/manual/v1.0.0/en/html/.buildinfo b/manual/v1.0.0/en/html/.buildinfo new file mode 100644 index 0000000..ef11828 --- /dev/null +++ b/manual/v1.0.0/en/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 525bcd588269cd9b5473f122fc1b6e83 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/manual/v1.0.0/en/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png b/manual/v1.0.0/en/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png new file mode 100644 index 0000000000000000000000000000000000000000..60ec48e98d66ded9d23fe995438b4c09b95f6ec1 GIT binary patch literal 11643 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 + diff --git a/manual/v1.0.0/en/html/_images/task_view.png b/manual/v1.0.0/en/html/_images/task_view.png new file mode 100644 index 0000000000000000000000000000000000000000..44d038ae5efd36416b0ef612b58a835935429143 GIT binary patch literal 132367 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
3pUM36#d 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

OP`N39IYrAZb69}zdnT)X!AU85fH1DD!7Zw*U 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 literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/en/html/_images/tutorial_dsqss_M2.png b/manual/v1.0.0/en/html/_images/tutorial_dsqss_M2.png new file mode 100644 index 0000000000000000000000000000000000000000..95e2a6aa5c880fbcd3cf6271f2c8f96dc755b0ed GIT binary patch literal 53225 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 + +How *moller* works +---------------------------------------------------------------- + +Structure of moller script +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*moller* reads the input YAML file and generates a job script for bulk execution. The structure of the generated script is described as follows. + +#. Header + + This part contains the options to the job scheduler. The content of the platform section is formatted according to the type of job scheduler. This feature depends on platforms. + +#. Prologue + + This part corresponds to the prologue section of the input file. The content of the ``code`` block is written as-is. + +#. Function definitions + + This part contains the definitions of functions and variables used within the moller script. The description of the functions will be given in the next section. This feature depends on platforms. + +#. Processing Command-line options + + The SLURM variants accept additional arguments to the job submission command (sbatch) that are passed to the job script as a command-line options. The name of the list file and/or the options such as the retry feature can be processed. + + For the PBS variants, these command-line arguments are ignored, and therefore the name of the list file is fixed to ``list.dat`` by default, and the retry feature may be enabled by modifying the script with ``retry`` set to 1. + +#. Description of tasks + + This part contains the description of tasks specified in the jobs section of the input file. When more than one task is given, the following procedure is applied to each task. + + When parallel = false, the content of the ``run`` block is written as-is. + + When parallel = true (default), a function is created by the name task_{task name} that contains the pre-processing for concurrent execution and the content of the ``run`` block. The keywords for the parallel execution (``srun``, ``mpiexec``, or ``mpirun``) are substituted by the platform-dependent command. The definition of the task function is followed by the concurrent execution command. + +#. Epilogue + + This part corresponds to the epilogue section of the input file. The content of the ``code`` block is written as-is. + + +Brief description of moller script functions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The main functions of the moller script is briefly described below. + +- ``run_parallel`` + + This function performs concurrent execution of task functions. It takes the degree of parallelism, the task function, and the status file as arguments. Within the function, it calls ``_find_multiplicity`` to find the number of tasks that can be run simultaneously, and invokes GNU parallel to run tasks concurrently. The task function is actually wrapped by the ``_run_parallel_task`` function to deal with the nested call of GNU parallel. + + The platform-dependence is separated out by the functions ``_find_multiplicity`` and ``_setup_run_parallel``. + +- ``_find_multiplicity`` + + This function determines the number of tasks that can be simultaneously executed on the allocated resources (nodes and cores) taking account of the degree of parallelism of the task. + For the PBS variants, the compute nodes and the cores are divided into slots, and the slots are kept as table variables. + The information obtained at the batch job execution is summarized as follows. + + - For SLURM variants, + + The number of allocated nodes (``_nnodes``) + + ``SLURM_NNODES`` + + The number of allocated cores (``_ncores``) + + ``SLURM_CPUS_ON_NODE`` + + - For PBS variants, + + The allocated nodes (``_nodes[]``) + + The list of unique compute nodes is obtained from the file given by ``PBS_NODEFILE``. + + The number of allocated nodes (``_nnodes``) + + The number of entries of ``_nodes[]``. + + The number of allocated cores + + Searched from below (in order of examination) + + - ``NCPUS`` (for PBS Professional) + + - ``OMP_NUM_THREADS`` + + - ``core`` parameter of platform section (written in the script as a variable ``moller_core``.) + + - ``ncpus`` or ``ppn`` parameter in the header. + +- ``_setup_run_parallel`` + + This function is called from the ``run_parallel`` function to supplement some procedures before running GNU parallel. + For PBS variants, the slot tables are exported so that the task functions can refer to. + For SLURM variants, there is nothing to do. + +The structure of the task function is described as follows. + +- A task function is created by a name ``task_{task name}``. + +- The arguments of the task function are 1) the degree of parallelism (the number of nodes, processes, and threads), 2) the execution directory (that corresponds to the entry of list file), 3) the slot ID assigned by GNU parallel. + +- The platform-dependent ``_setup_taskenv`` function is called to set up execution environment. + For PBS variants, the compute node and the cores are obtained from the slot table based on the slot ID. For SLURM variants, there is nothing to do. + +- The ``_is_ready`` function is called to check if the preceding task has been completed successfully. If it is true, the remaining part of the function is executed. Otherwise, the task is terminated with the status -1. + +- The content of the ``code`` block is written. The keywords for parallel calculation (``srun``, ``mpiexec``, or ``mpirun``) are substituted by the command provided for the platform. + + +How to extend *moller* for other systems +---------------------------------------------------------------- +The latest version of *moller* provides profiles for ISSP supercomputer systems, ohtaka and kugui. An extension guide to use *moller* in other systems is described in the following. + +Class structure +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The platform-dependent parts of *moller* are placed in the directory ``platform/``. +Their class structure is depicted below. + +.. graphviz:: + + digraph class_diagram { + size="5,5" + node[shape=record,style=filled,fillcolor=gray95] + edge[dir=back,arrowtail=empty] + + Platform[label="{Platform (base.py)}"] + BaseSlurm[label="{BaseSlurm (base_slurm.py)}"] + BasePBS[label="{BasePBS (base_pbs.py)}"] + BaseDefault[label="{BaseDefault (base_default.py)}"] + + Ohtaka[label="{Ohtaka (ohtaka.py)}"] + Kugui[label="{Kugui (kugui.py)}"] + Pbs[label="{Pbs (pbs.py)}"] + Default[label="{DefaultPlatform (default.py)}"] + + Platform->BaseSlurm + Platform->BasePBS + Platform->BaseDefault + + BaseSlurm->Ohtaka + BasePBS->Kugui + BasePBS->Pbs + BaseDefault->Default + } + + +A factory is provided to select a system in the input file. +A class is imported in ``platform/__init__.py`` and registered to the factory by ``register_platform(system_name, class_name)``, and then it becomes available in the system parameter of the platform section in the input YAML file. + +SLURM job scheduler variants +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +For the SLURM job scheduler variants, the system-specific settings should be applied to a derived class of BaseSlurm class. +The string that substitute the keywords for the parallel execution of programs is given by the return value of ``parallel_command()`` method. It corresponds to the ``srun`` command with the options for the exclusive use of resources. See ohtaka.py for an example. + +PBS job scheduler variants +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +For the PBS job scheduler variants (PBS Professional, OpenPBS, Torque, and others), the system-specific settings should be applied to a derived class of BasePBS class. + +There are two ways of specifying the number of nodes for a batch job in the PBS variants. PBS Professional takes the form of select=N:ncpus=n, while Torque and others take the form of node=N:ppn=n. The BasePBS class has a parameter ``self.pbs_use_old_format`` that is set to ``True`` for the latter type. + +The number of cores per compute node can be specified by node parameter of the input file, while the default value may be set for a known system. In kugui.py, the number of cores per node is set to 128 by default. + +Customizing features +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +When further customization is required, the methods of the base class may be overridden in the derived classes. The list of relevant methods is given below. + +- ``setup`` + + This method extracts parameters of the platform section. + +- ``parallel_command`` + + This method returns a string that is used to substitute the keywords for parallel execution of programs (``srun``, ``mpiexec``, ``mpirun``). + + +- ``generate_header`` + + This method generates the header part of the job script that contains options to the job scheduler. + +- ``generate_function`` + + This method generates functions that are used within the moller script. It calls the following methods to generate function body and variable definitions. + + - ``generate_variable`` + - ``generate_function_body`` + + The definitions of the functions are provided as embedded strings within the class. + +Porting to new type of job scheduler +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The platform-dependent parts of the moller scripts are the calculation of task multiplicity, the resource distribution over tasks, and the command string of parallel calculation. +The internal functions need to be developed with the following information on the platform: + +- how to acquire the allocated nodes and cores from the environment at the execution of batch jobs. + +- how to launch parallel calculation (e.g. mpiexec command) and how to assign the nodes and cores to the command. + +To find which environment variables are set within the batch jobs, it may be useful to call ``printenv`` command in the job script. + +Trouble shooting +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When the variable ``_debug`` in the moller script is set to 1, the debug outputs are printed during the execution of the batch jobs. If the job does not work well, it is recommended that the debug option is turned on and the output is examined to check if the internal parameters are appropriately defined. diff --git a/manual/v1.0.0/en/html/_sources/moller/basic-usage.rst.txt b/manual/v1.0.0/en/html/_sources/moller/basic-usage.rst.txt new file mode 100644 index 0000000..35b1f10 --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/basic-usage.rst.txt @@ -0,0 +1,150 @@ +Installation and basic usage +================================================================ + +**Prerequisite** + + Comprehensive calculation utility ``moller`` included in HTP-tools requires the following programs and libraries: + + - Python 3.x + - ruamel.yaml module + - tabulate module + - GNU Parallel (It must be installed on servers or compute nodes on which the job script is executed.) + +**Official pages** + + - `GitHub repository `_ + +**Downloads** + + moller can be downloaded by the following command with git: + + .. code-block:: bash + + $ git clone https://github.com/issp-center-dev/Moller.git + +**Installation** + + Once the source files are obtained, you can install moller by running the following command. The required libraries will also be installed automatically at the same time. + + .. code-block:: bash + + $ cd ./Moller + $ python3 -m pip install . + + The executable files ``moller`` and ``moller_status`` will be installed. + +**Directory structure** + + :: + + . + |-- LICENSE + |-- README.md + |-- pyproject.toml + |-- docs/ + | |-- ja/ + | |-- en/ + | |-- tutorial/ + |-- src/ + | |-- moller/ + | |-- __init__.py + | |-- main.py + | |-- platform/ + | | |-- __init__.py + | | |-- base.py + | | |-- base_slurm.py + | | |-- base_pbs.py + | | |-- base_default.py + | | |-- ohtaka.py + | | |-- kugui.py + | | |-- pbs.py + | | |-- default.py + | | |-- function.py + | | |-- utils.py + | |-- moller_status.py + |-- sample/ + +**Basic usage** + + ``moller`` is a tool to generate batch job scripts for supercomputers in which programs are run in parallel for a set of execution conditions using concurrent execution features. + + #. Prepare job description file + + First, you need to create a job description file in YAML format that describes the tasks to be executed on supercomputers. The details of the format will be given in File Format section of the manual. + + #. Run command + + Run moller program with the job description file, and a batch job script will be generated. + + .. code-block:: bash + + $ moller -o job.sh input.yaml + + #. Run batch jobs + + Transfer the generated batch job scripts to the supercomputer. + Prepare a directory for each parameter set, and create a list of the directory names in a file ``list.dat``. + Note that the list contains the relative paths to the directory where the batch job is executed, or the absolute paths. + + Once the list file is ready, you may submit a batch job. The actual command depends on the system. + + - In case of ISSP system B (ohtaka) + + In ohtaka, slurm is used for the job scheduling system. In order to submit a batch job, a command ``sbatch`` is invoked with the job script as an argument. Parameters can be passed to the script as additional arguments; the name of list file is specified as a parameter. + + .. code-block:: bash + + $ sbatch job.sh list.dat + + If the list file is not specified, ``list.dat`` is used by default. + + - In case of ISSP system C (kugui) + + In kugui, PBS is used for the job scheduling system. In order to submit a batch job, a command ``qsub`` is invoked with the job script. There is no way to pass parameters to the script, and thus the name of the list file is fixed to ``list.dat``. + + .. code-block:: bash + + $ qsub job.sh + + #. Check the status of the calculation + + After the job finishes, you may run the following command + + .. code-block:: bash + + $ moller_status input.yaml list.dat + + to obtain a report whether the calculation for each parameter set has been completed successfully. + + + #. Retry/resume job + + In case the job is terminated during the execution, the job may be resumed by submitting the batch job again with the same list file. + The yet unexecuted jobs (as well as the unfinished jobs) will be run. + + + - In case of ISSP system B (ohtaka) + + .. code-block:: bash + + $ sbatch job.sh list.dat + + To retry the failed tasks, the batch job is submitted with ``--retry`` command line option. + + .. code-block:: bash + + $ sbatch job.sh --retry list.dat + + - In case of ISSP system C (kugui) + + For kugui, to retry the failed tasks, the batch job script should be edited so that ``retry=0`` is changed to be ``retry=1``. + + .. code-block:: bash + + $ qsub job.sh + + Then, the batch job is submitted as above. + +**References** + +[1] `O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47. `_ diff --git a/manual/v1.0.0/en/html/_sources/moller/command/index.rst.txt b/manual/v1.0.0/en/html/_sources/moller/command/index.rst.txt new file mode 100644 index 0000000..7069b0f --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/command/index.rst.txt @@ -0,0 +1,95 @@ +Command reference +================================================================ + +moller +---------------------------------------------------------------- + + Generate a batch job script for comprehensive calculation + +SYNOPSIS: + + .. code-block:: bash + + moller [-o job_script] input_yaml + +DESCRIPTION: + + This program reads a job description file specified by input_yaml, and generates a batch job script. It takes the following command line options. + + - ``-o``, ``--output`` ``job_script`` + + specifies output file name. This option supersedes the output_file parameter in the job description file. If no output file is specified, the result is written to the standard output. + + - ``-h`` + + displays help and exits. + +moller_status +---------------------------------------------------------------- + + Reports the status of comprehensive calculation jobs + +SYNOPSIS: + + .. code-block:: bash + + moller_status [-h] [--text|--csv|--html] [--ok|--failed|--skipped|--collapsed|--yet] [-o output_file] input_yaml [list_file] + +DESCRIPTION: + + This program summarizes the status of tasks in jobs that are executed through the job scripts generated by moller, and outputs a report. The tasks are obtained from the job description file specified by ``input_yaml``. The list of jobs is read from the file specified by ``list_file``. If it is not provided, the job list is extracted from the log files. + The format of the output is specified by a command line option. The default is the text format. The output file is specified by the ``-o`` or ``--output`` option. If it is not specified, the output is written to the standard output. + + - output formats + + specifies the format of the output by one of the following options. If more than one option are specified, the program terminates with error. The default is the text format. + + - ``--text`` + displays in text format. + - ``--csv`` + displays in CSV (comma-separated values) format. + - ``--html`` + displays in HTML format. + + - ``input_yaml`` + + specifies the job description file for ``moller``. + + - ``list_file`` + + specifies the file that contains list of job directories. If this file is not specified, the list will be obtained from the logfile of the batch job ``stat_{task}.dat``. + + - ``-o``, ``--output`` ``output_file`` + + specifies the output file name. If it is omitted, the result is written to the standard output. + + - filter options + + specifies the status of jobs to be displayed by one of the following options. All jobs are displayed by default. + + - ``--ok`` + displays only jobs whose tasks are all completed successfully. + + - ``--failed`` + displays jobs, any of whose tasks are failed with errors, skipped, or not performed. + + - ``--skipped`` + displays jobs, any of whose tasks are skipped. + + - ``--yet`` + displays jobs, any of whose tasks are not yet performed. + + - ``--collapsed`` + displays jobs, any of whose tasks are failed with errors. + + - ``--all`` + displays all jobs. (default) + + - ``-h`` + + displays help and exits. + +FILES: + + When the programs are executed concurrently using the job script generated by ``moller``, the status of the tasks are written in log files ``stat_{task}.dat``. ``moller_status`` reads these log files and makes a summary. + diff --git a/manual/v1.0.0/en/html/_sources/moller/filespec/index.rst.txt b/manual/v1.0.0/en/html/_sources/moller/filespec/index.rst.txt new file mode 100644 index 0000000..6f2d4fb --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/filespec/index.rst.txt @@ -0,0 +1,134 @@ +.. _sec-fileformat: + +File format +================================================================ + +Job description file +---------------------------------------------------------------- + +A job description file contains configurations to generate a batch job script by ``moller``. It is prepared in text-based YAML format. This file consists of the following parts: + + 1. General settings: specifies job names and output files. + + 2. platform section: specifies the system on which batch jobs are executed, and the settings for the batch jobs. + + 3. prologue and epilogue sections: specifies initial settings and finalization within the batch job. + + 4. jobs section: specifies tasks to be carried out in the betch job script. + +General settings +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + ``name`` + + specifies the name of the batch job. If it is not given, the job name is left unspecified. (Usually the name of the job script is used as the job name.) + + ``description`` + + provides the description of the batch job. It is regarded as comments. + + ``output_file`` + + specifies the output file name. When the output file is given by a command-line option, the command-line parameter is used. When none of them is specified, the result is written to the standard output. + + +platform +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ``system`` + + specifies the target system. At present, either ``ohtaka`` or ``kugui`` is accepted. + + ``queue`` + + specifies the name of batch queue. The actual value depends on the target system. + + ``node`` + + specifies the number of nodes to be used. It is given by an integer specifying the number of nodes, or a list of integers specifying ``[`` number of nodes, number of cores per node ``]``. The accepted range of parameters depends on the system and queue settings. (The number of cores is accepted for kugui and default systems; otherwise it is ignored.) + + ``core`` + + specifies the number of cores per node be used. The accepted range of parameters depends on the system and queue settings. If both the second parameter of ``node`` and ``core`` are specified, the value in ``core`` is used. (This parameter is accepted for kugui and default target systems.) + + ``elapsed`` + + specifies the elapsed time of the batch job in HH:MM:SS format. + + ``options`` + + specifies other batch job options. It is given as a list of options or as a multiple-line string with options in each line. The heading directives (e.g. ``#PBS`` or ``#SBATCH``) are not included. The examples are given as follows. + + - an example of SLURM job script in the string format: + + .. code-block:: yaml + + options: | + --mail-type=BEGIN,END,FAIL + --mail-user=user@sample.com + --requeue + + - an example of PBS job script in the list format: + + .. code-block:: yaml + + options: + - -m bea + - -M user@sample.com + - -r y + +prologue, epilogue +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +``prologue`` section specifies the commands to be run prior to executing the tasks. It is used, for example, to set environment variables of libraries and paths. +``epilogue`` section specifies the commands to be run after all tasks have been completed. + + ``code`` + + specifies the content of the commands in the form of shell script. It is embedded in the batch job script, and executed within the batch job. + +jobs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +``jobs`` section specifies a sequence of tasks in a table format, with the task names as keys and the contents as values. + + + key + + name of task + + value + + a table that consists of the following items: + + ``description`` + + provides the description of the task. It is regarded as comments. + + ``node`` + + specifies the degree of parallelism in one of the following formats. + + - ``[`` number of processes, number of threads per process ``]`` + - ``[`` number of nodes, number of processes, number of threads per process ``]`` + - number of nodes + + When the number of nodes is specified, the specified number of nodes are exclusively assigned to a job. Otherwise, if the required number of cores for a job is smaller than the number of cores in a node, more than one job may be allocated in a single node. If a job uses more than one node, the required number of nodes are exclusively assigned. + + ``parallel`` + + This parameter is set to ``true`` if the tasks of different jobs are executed in parallel. It is set to ``false`` if they are executed sequentially. The default value is ``true``. + + ``run`` + + The content of the task is described in the form of shell script. The executions of MPI parallel programs or MPI/OpenMPI hybrid parallel programs are specified by + + .. code-block:: bash + + srun prog [arg1, ...] + + where, in addition to the keyword ``srun``, ``mpirun`` or ``mpiexec`` is accepted. In the resulting job script, they are replaced by the command (e.g. ``srun`` or ``mpirun``) and the degree of parallelism specified by ``node`` parameter. + +List file +---------------------------------------------------------------- + +This file contains a list of jobs. It is a text file with a job name in a line (The name of the directory is associated with the name of the job). + +``moller`` assumes that a directory is assigned to each job, and the tasks of the job are executed within the directory. These directories are supposed to be located in the directory where the batch job is submitted. diff --git a/manual/v1.0.0/en/html/_sources/moller/index.rst.txt b/manual/v1.0.0/en/html/_sources/moller/index.rst.txt new file mode 100644 index 0000000..1f65be1 --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/index.rst.txt @@ -0,0 +1,15 @@ +**************************************************************** +Comprehensive Calculation Utility (moller) +**************************************************************** + + +.. toctree:: + :maxdepth: 2 + :numbered: 2 + + about/index + basic-usage + tutorial/index + command/index + filespec/index + appendix/index diff --git a/manual/v1.0.0/en/html/_sources/moller/tutorial/basic.rst.txt b/manual/v1.0.0/en/html/_sources/moller/tutorial/basic.rst.txt new file mode 100644 index 0000000..c2e0f70 --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/tutorial/basic.rst.txt @@ -0,0 +1,161 @@ +.. _sec-tutorial: + +Basic usage +-------------- + +The procedure to use the batch job script generator ``moller`` consists of the following steps: +First, a job description file is prepared that defines the tasks to be executed. Next, the program ``moller`` is to be run with the job description file, and a batch job script is generated. The script is then transferred to the target supercomputer system. A batch job is submitted with the script to perform calculations. +In this tutorial, we will explain the steps along a sample in ``docs/tutorial/moller``. + +Prepare job description file +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A job description file describes the content of calculations that are carried out in a batch job. +Here, a *batch job* is used for a set of instructions submitted to job schedulers running on supercomputer systems. +On the other hand, for the concurrent execution of programs that ``moller`` handles, we call a series of program executions performed for one set of parameters by a *job*. A job may consist of several contents that we call *tasks*. ``moller`` organizes job execution so that each task is run in parallel, and the synchronization between the jobs is taken at every start and end of the tasks. + +.. only:: html + + .. figure:: ../../_static/task_view.png + :alt: Tasks and jobs + + An example of tasks and jobs: Three jobs #1 ... #3 are carried out within a single batch job. Each job corresponds to different set of parameters. A job consists of 4 tasks. Each task is run in parallel among these three jobs. + +.. only:: latex + + .. figure:: ../../_static/task_view.pdf + :scale: 100% + :alt: Tasks and jobs + + An example of tasks and jobs: Three jobs #1 ... #3 are carried out within a single batch job. Each job corresponds to different set of parameters. A job consists of 4 tasks. Each task is run in parallel among these three jobs. + +An example of job description file is presented in the following. A job description file is in text-based YAML format. It contains parameters concerning the platform and the batch job, task descriptions, and pre/post-processes. + +.. literalinclude:: ../../../../tutorial/moller/input.yaml + +In the platform section, you can specify the type of platform on which to execute. +In this case, settings for the System B (ohtaka) are being made. + +The prologue section describes the preprocessing of the batch job. +It details the common command line to be executed before running the task. + +In the jobs section, the content of the task processing is described. +The series of tasks to be executed in the job are described in a table format, +with the task name as the key and the processing content as the value. + +In this example, a task that first outputs "start..." is defined with the task name "start". +Here, it is set to ``parallel = false``. +In this case, the content of ``run`` parameter is executed sequentially. + +Next, a task that outputs "hello world." is defined with the task name "hello_world" . +Here, since "parallel" is not set, it is treated as ``parallel = true``. +In this case, parallel processing is performed on a per-job basis. +Similarly, next, a task that outputs "hello world again." is defined with the task name "hello_again". + +Finally, in the epilogue section, the post-processing of the batch job is described. +It details the common command line to be executed after running the task. + +For more details on the specifications, please refer to the chapter :ref:`File Format `. + +Generate batch job script +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``moller`` is to be run with the job description file (``input.yaml``) as an input as follows: + +.. code-block:: bash + + $ moller -o job.sh input.yaml + +A batch job script is generated and written to a file specified by the parameter in the job description file, or the command line option ``-o`` or ``--output``. If both specified, the command line option is used. If neither specified, the result is written to the standard output. + +The obtained batch job script is to be transferred to the target system as required. It is noted that the batch job script is prepared for ``bash``; users may need to set the shell for job execution to ``bash``. (A care should be needed if the login shell is set to csh-type.) + + +Create list file +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A list of jobs is to be created. ``moller`` is designed so that each job is executed within a directory prepared for the job with the job name. The job list can be created, for example, by the following command: + +.. code-block:: bash + + $ /usr/bin/ls -1d * > list.dat + +In this tutorial, an utility script ``make_inputs.sh`` is enclosed which generates datasets and a list file. + +.. code-block:: bash + + $ bash ./make_inputs.sh + +By running the above command, a directory ``output`` and a set of subdirectories ``dataset-0001`` ... ``dataset-0020`` that correspond to datasets, and a list file ``list.dat`` are created. + + +Run batch job +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The batch job is to be submitted to the job scheduler with the batch job script. +In this example, the job script and the input parameter files are copied into the ``output`` directory, and the current directory is changed to ``output` as follows: + +.. code-block:: bash + + $ cp job.sh input.yaml output/ + $ cd output + +In ohtaka, slurm is used for the job scheduling system. In order to submit a batch job, a command ``sbatch`` is invoked with the job script as an argument. +Parameters can be passed to the script as additional arguments; the name of list file is specified as a parameter. + +.. code-block:: bash + + $ sbatch job.sh list.dat + +Files named 'result.txt' will be generated in each directory listed on the list.dat. +You can confirm that the 'result.txt' contains the strings 'hello world.' and 'hello world again.' as the job results. + +Check status +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The status of execution of the tasks are written to log files. A tool named ``moller_status`` is provided to generate a summary of the status of each job from the log files. It is invoked by the following command in the directory where the batch job is executed: + +.. code-block:: bash + + $ moller_status input.yaml list.dat + +The command takes the job description file ``input.yaml`` and the list file ``list.dat`` as arguments. The list file may be omitted; in this case, the information of the jobs are extracted from the log files. + +An example of the output is shown below: + +.. literalinclude:: ../../../../tutorial/moller/reference/status.txt + + +where "o" corresponds to a task that has been completed successfully, "x" corresponds to a failed task, "-" corresponds to a skipped task because the previous task has been terminated with errors, and "." corresponds to a task yet unexecuted. +In the above example, the all tasks have been completed successfully. + + +Rerun failed tasks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If a task fails, the subsequent tasks within the job will not be executed. +The following is an example of job status in which each task fails by 10% change. + +.. literalinclude:: ../../../../tutorial/moller/reference/status_failed.txt + +There, the jobs of dataset_0003 and dataset_0004 failed at task1, and the subsequent task2 and task3 were not executed. The other jobs were successful at task1, and proceeded to task2. +In this way, each job is executed independently of other jobs. + +Users can rerun the failed tasks by submitting the batch job with the retry option. +For SLURM job scheduler (e.g. used in ISSP system B), resubmit the job as follows: + +.. code-block:: bash + + $ sbatch job.sh --retry list.dat + +For PBS job scheduler (e.g. used in ISSP system C), edit the job script so that the line ``retry=0`` is replaced by ``retry=1``, and resubmit the job. + +.. literalinclude:: ../../../../tutorial/moller/reference/status_retry.txt + +The tasks that have failed will be executed in the second run. +In the above example, the task1 for dataset_0003 was successful, but the task2 failed. +For dataset_0004, task1, task2, and task3 were successfully executed. +For the jobs of datasets whose tasks have already finished successfully, the second run will not do anything. + +N.B. the list file must not be modified on the rerun. The jobs are managed according to the order of entries in the list file, and therefore, if the order is changed, the jobs will not be executed properly. + diff --git a/manual/v1.0.0/en/html/_sources/moller/tutorial/dsqss.rst.txt b/manual/v1.0.0/en/html/_sources/moller/tutorial/dsqss.rst.txt new file mode 100644 index 0000000..ba956c9 --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/tutorial/dsqss.rst.txt @@ -0,0 +1,104 @@ +Example for *moller* calculation with DSQSS +--------------------------------------------- + +What’s this sample? +~~~~~~~~~~~~~~~~~~~~~~~ + +This is an example of ``moller`` with +`DSQSS `__, which is an +open-source software package for performing the path-integral Monte +Calro method for quantum many-body problem. In this example, we will +calculate the temperature dependence of the magnetic susceptibilities +:math:`\chi` of the :math:`S=1/2` (:math:`M=1` in the terms of DSQSS) +and :math:`S=1` (:math:`M=2`) antiferromagnetic Heisenberg chain under +the periodic boundary condition with several length. By using +``moller``, calculations with different parameters (:math:`M, L, T`) are +performed in parallel. + +This example is corresponding to `one of the official +tutorials `__. + +Preparation +~~~~~~~~~~~~~~ + +Make sure that ``moller`` (HTP-tools) package and ``DSQSS`` are +installed. In this tutorial, the calculation will be performed using the +supercomputer system ``ohtaka`` at ISSP. + +How to run +~~~~~~~~~~~~~~ + +1. Prepare dataset + + Run the script ``make_inputs.sh`` enclosed within this package. + + .. code:: bash + + $ bash ./make_inputs.sh + + This make an ``output`` directory (if already exists, first removed + then make again). Under ``output``, working directories for each + parameter like ``L_8__M_1__T_1.0`` will be generated. A list of the + directories is written to a file ``list.dat``. + +2. Generate job script using ``moller`` + + Generate a job script from the job description file using ``moller``, + and store the script as a file named ``job.sh``. + + .. code:: bash + + $ moller -o job.sh input.yaml + + Then, copy ``job.sh`` in the ``output`` directory, and change + directory to ``output``. + +3. Run batch job + + Submit a batch job with the job list as an argument. + + .. code:: bash + + $ sbatch job.sh list.dat + +4. Check status + + The status of task execution will be summarized by ``moller_status`` + program. + + .. code:: bash + + $ moller_status input.yaml list.dat + +5. Gather results + + After calculation finishes, gather result by + + .. code:: bash + + $ python3 ../extract_result.py list.dat + + This script writes results into a text file ``result.dat`` which has + 5 columns, :math:`M`, :math:`L`, :math:`T`, mean of :math:`\chi`, and + stderr of :math:`\chi`. + + To visualize the results, GNUPLOT files ``plot_M1.plt`` and + ``plot_M2.plt`` are available. + + .. code:: bash + + $ gnuplot --persist plot_M1.plt + $ gnuplot --persist plot_M2.plt + + |susceptibilities for S=1/2| |susceptibilities for S=2| + + The main different between :math:`S=1/2` and :math:`S=1` AFH chains + is whether the excitation gap vanishes (:math:`S=1/2`) or remains + (:math:`S=1`). Reflecting this, the magnetic susceptibility in the + very low temperature region remains finite (:math:`S=1/2`) or + vanishes (:math:`S=1`). Note that for the :math:`S=1/2` case, the + finite size effect opens the spin gap and therefore the magnetic + susceptibility of small chains drops. + +.. |susceptibilities for S=1/2| image:: ../../../../images/tutorial_dsqss_M1.* +.. |susceptibilities for S=2| image:: ../../../../images/tutorial_dsqss_M2.* diff --git a/manual/v1.0.0/en/html/_sources/moller/tutorial/hphi.rst.txt b/manual/v1.0.0/en/html/_sources/moller/tutorial/hphi.rst.txt new file mode 100644 index 0000000..40c180b --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/tutorial/hphi.rst.txt @@ -0,0 +1,105 @@ +Example for *moller* calculation with HPhi +------------------------------------------ + +What’s this sample? +~~~~~~~~~~~~~~~~~~~ + +This is an example of ``moller`` with +`HPhi `__, which is an +open-source software package for performing the exact diagonalization +method for quantum many-body problems. In this example, we will +calculate the system size dependence of the excitation gap +:math:`\Delta` of the :math:`S=1/2` (``2S_1`` directory) and :math:`S=1` +(``2S_2``) antiferromagnetic Heisenberg chain under the periodic +boundary condition. By using ``moller``, calculations with different +system sizes are performed in parallel. This is corresponding to +`section +1.4 `__ +of HPhi's official tutorial. + +Preparation +~~~~~~~~~~~ + +Make sure that ``moller`` (HTP-tools) package and ``HPhi`` are +installed. In this tutorial, the calculation will be performed using the +supercomputer system ``ohtaka`` at ISSP. + +How to run +~~~~~~~~~~ + +1. Prepare dataset + + Run the script ``make_inputs.sh`` enclosed within this package. + + .. code:: bash + + $ bash ./make_inputs.sh + + Working directories ``L_8``, ``L_10``, …, ``L_24`` (up to ``L_18`` + for ``2S_2``)) will be generated. A list of the directories is + written to a file ``list.dat``. Additionally, a shell script, + ``extract_gap.sh``, to gather energy gaps from working directories is + generated. + +2. Generate job script using ``moller`` + + Generate a job script from the job description file using ``moller``, + and store the script as a file named ``job.sh``. + + .. code:: bash + + $ moller -o job.sh input.yaml + +3. Run batch job + + Submit a batch job with the job list as an argument. + + .. code:: bash + + $ sbatch job.sh list.dat + +4. Check status + + The status of task execution will be summarized by ``moller_status`` + program. + + .. code:: bash + + $ moller_status input.yaml list.dat + +5. Gather results + + Once the calculation finishes, gather energy gaps from jobs as + + .. code:: bash + + $ bash extract_gap.sh + + This script writes pairs of the length :math:`L` and the gap + :math:`\Delta` into a text file, ``gap.dat``. + + To visualize the results, a Gnuplot file ``gap.plt`` is available. In + this file, the obtained gap data are fitted by the expected curves, + + .. math:: \Delta(L; S=1/2) = \Delta_\infty + A/L + + and + + .. math:: \Delta(L; S=1) = \Delta_\infty + B\exp(-CL). + + The result is plotted as follows: + + .. code:: bash + + $ gnuplot --persist gap.plt + + .. figure:: ../../../../images/tutorial_hphi_gap.* + :alt: Finite size effect of spin gap + + Finite size effect of spin gap + + Note that the logarithmic correction causes the spin gap for + :math:`S=1/2` to remain finite. On the other hand, for :math:`S=1`, + the extrapolated value :math:`\Delta_\infty = 0.417(1)` is consistent + with the previous results, e.g., :math:`\Delta_\infty = 0.41048(6)` + by QMC (Todo and Kato, PRL **87**, 047203 (2001)). diff --git a/manual/v1.0.0/en/html/_sources/moller/tutorial/index.rst.txt b/manual/v1.0.0/en/html/_sources/moller/tutorial/index.rst.txt new file mode 100644 index 0000000..3e89c68 --- /dev/null +++ b/manual/v1.0.0/en/html/_sources/moller/tutorial/index.rst.txt @@ -0,0 +1,9 @@ +Tutorial +================================================================ + +.. toctree:: + :maxdepth: 2 + + basic + hphi + dsqss diff --git a/manual/v1.0.0/en/html/_static/alabaster.css b/manual/v1.0.0/en/html/_static/alabaster.css new file mode 100644 index 0000000..55f9cb1 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/alabaster.css @@ -0,0 +1,708 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar { + max-height: 100%; + overflow-y: auto; +} + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 160px; +} + +div.sphinxsidebar .search > div { + display: table-cell; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin-left: 0; + margin-right: 0; + margin-top: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Hide ugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/manual/v1.0.0/en/html/_static/basic.css b/manual/v1.0.0/en/html/_static/basic.css new file mode 100644 index 0000000..4157edf --- /dev/null +++ b/manual/v1.0.0/en/html/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: inherit; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/manual/v1.0.0/en/html/_static/custom.css b/manual/v1.0.0/en/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/manual/v1.0.0/en/html/_static/doctools.js b/manual/v1.0.0/en/html/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/manual/v1.0.0/en/html/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/manual/v1.0.0/en/html/_static/documentation_options.js b/manual/v1.0.0/en/html/_static/documentation_options.js new file mode 100644 index 0000000..89435bb --- /dev/null +++ b/manual/v1.0.0/en/html/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '1.0.0', + LANGUAGE: 'en', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/manual/v1.0.0/en/html/_static/file.png b/manual/v1.0.0/en/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/en/html/_static/graphviz.css b/manual/v1.0.0/en/html/_static/graphviz.css new file mode 100644 index 0000000..8d81c02 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/graphviz.css @@ -0,0 +1,19 @@ +/* + * graphviz.css + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- graphviz extension. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +img.graphviz { + border: 0; + max-width: 100%; +} + +object.graphviz { + max-width: 100%; +} diff --git a/manual/v1.0.0/en/html/_static/language_data.js b/manual/v1.0.0/en/html/_static/language_data.js new file mode 100644 index 0000000..250f566 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/language_data.js @@ -0,0 +1,199 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + diff --git a/manual/v1.0.0/en/html/_static/minus.png b/manual/v1.0.0/en/html/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/en/html/_static/plus.png b/manual/v1.0.0/en/html/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/en/html/_static/pygments.css b/manual/v1.0.0/en/html/_static/pygments.css new file mode 100644 index 0000000..0d49244 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/pygments.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287e } /* Name.Function.Magic */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/manual/v1.0.0/en/html/_static/searchtools.js b/manual/v1.0.0/en/html/_static/searchtools.js new file mode 100644 index 0000000..7918c3f --- /dev/null +++ b/manual/v1.0.0/en/html/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/manual/v1.0.0/en/html/_static/sphinx_highlight.js b/manual/v1.0.0/en/html/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/manual/v1.0.0/en/html/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/manual/v1.0.0/en/html/_static/task_view.pdf b/manual/v1.0.0/en/html/_static/task_view.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3af0603384a6eebc6fef11d78d24f355f28bbb8e GIT binary patch literal 15909 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 |(DSUynnzm?t0Of>N8vIx?V>-cdU%jQ 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
3pUM36#d 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

OP`N39IYrAZb69}zdnT)X!AU85fH1DD!7Zw*U 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 + + + + + + Index — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/index.html b/manual/v1.0.0/en/html/index.html new file mode 100644 index 0000000..3dd4491 --- /dev/null +++ b/manual/v1.0.0/en/html/index.html @@ -0,0 +1,121 @@ + + + + + + + + Moller Users Guide — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/about/index.html b/manual/v1.0.0/en/html/moller/about/index.html new file mode 100644 index 0000000..5ca30ae --- /dev/null +++ b/manual/v1.0.0/en/html/moller/about/index.html @@ -0,0 +1,173 @@ + + + + + + + + 1. Introduction — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

1. Introduction¶

+
+

1.1. What is moller?¶

+

In recent years, the use of machine learning for predicting material properties and designing substances (known as materials informatics) has gained considerable attention. +The accuracy of machine learning depends heavily on the preparation of appropriate training data. +Therefore, the development of tools and environments for the rapid generation of training data is expected to contribute significantly to the advancement of research in materials informatics.

+

moller is provided as part of the HTP-Tools package, designed to support high-throughput computations. +It is a tool for generating batch job scripts for supercomputers and clusters, allowing parallel execution of programs under a series of computational conditions, such as parameter parallelism. +Currently, it supports the supercomputers ohtaka (using the slurm job scheduler) and kugui (using the PBS job scheduler) provided by the Institute for Solid State Physics, University of Tokyo.

+
+
+

1.2. License¶

+

The distribution of the program package and the source codes for moller follow GNU General Public License version 3 (GPL v3) or later.

+
+
+

1.3. Contributors¶

+

This software was developed by the following contributors.

+
    +
  • ver.1.0.0 (Released on 2024/03/06)

  • +
  • ver.1.0-beta (Released on 2023/12/28)

    +
      +
    • Developers

      +
        +
      • Kazuyoshi Yoshimi (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      • Tatsumi Aoyama (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      • Yuichi Motoyama (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      • Masahiro Fukuda (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      • Kota Ido (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      • Tetsuya Fukushima (The National Institute of Advanced Industrial Science and Technology (AIST))

      • +
      • Shusuke Kasamatsu (Yamagata University)

      • +
      • Takashi Koretsune (Tohoku University)

      • +
      +
    • +
    • Project Corrdinator

      +
        +
      • Taisuke Ozaki (The Instutite for Solid State Physics, The University of Tokyo)

      • +
      +
    • +
    +
  • +
+
+ +
+

1.5. Operating environment¶

+

moller was tested on the following platforms:

+
    +
  • Ubuntu Linux + python3

  • +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/appendix/index.html b/manual/v1.0.0/en/html/moller/appendix/index.html new file mode 100644 index 0000000..2368bee --- /dev/null +++ b/manual/v1.0.0/en/html/moller/appendix/index.html @@ -0,0 +1,321 @@ + + + + + + + + 6. Extension guide — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

6. Extension guide¶

+

N.B. The content of this section may vary depending on the version of moller.

+
+

6.1. Bulk job execution by moller¶

+

A bulk job execution means that a set of small tasks are executed in parallel within a single batch job submitted to a large batch queue. It is schematically shown as follows, in which N tasks are launched as background processes and executed in parallel, and a wait statement is invoked to wait for all tasks to be completed.

+
task param_1 &
+task param_2 &
+     ...
+task param_N &
+wait
+
+
+

To manage the bulk job, it is required to distribute nodes and cores allocated to the batch job over the tasks param_1 … param_N so that they are executed on distinct nodes and cores. It is also needed to arrange task execution where at most N tasks are run simultaneously according to the allocated resources.

+

Hereafter a job script generated by moller will be denoted as a moller script. +In a moller script, the concurrent execution and control of tasks are managed by GNU parallel [1]. It takes a list holding the items param_1 … param_N and runs commands for each items in parallel. An example is given as follows, where list.dat contains param_1 … param_N in each line.

+
cat list.dat | parallel -j N task
+
+
+

The number of concurrent tasks is determined at runtime from the number of nodes and cores obtained from the execution environment and the degree of parallelism (number of nodes, processes, and threads specified by node parameter).

+

The way to assign tasks to nodes and cores varies according to the job scheduler. +For SLURM job scheduler variants, the concurrent calls of srun command within the batch job are appropriately assigned to the nodes and cores by exploiting the option of exclusive resource usage. The explicit option may depend on the platform.

+

On the other hand, for PBS job scheduler variants that do not have such features, the distribution of nodes and cores to tasks has to be handled within the moller script. The nodes and cores allocated to a batch job are divided into slots, and the slots are assigned to the concurrent tasks. The division is determined from the allocated nodes and cores and the degree of parallelism of the task, and kept in a form of table variables. Within a task, the programs are executed on the assigned hosts and cores (optionally pinned to the program) through the options to mpirun (or mpiexec) and the environment variables. This feature depends on the MPI implementation.

+

Reference

+

[1] O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

+
+
+

6.2. How moller works¶

+
+

Structure of moller script¶

+

moller reads the input YAML file and generates a job script for bulk execution. The structure of the generated script is described as follows.

+
    +
  1. Header

    +

    This part contains the options to the job scheduler. The content of the platform section is formatted according to the type of job scheduler. This feature depends on platforms.

    +
  2. +
  3. Prologue

    +

    This part corresponds to the prologue section of the input file. The content of the code block is written as-is.

    +
  4. +
  5. Function definitions

    +

    This part contains the definitions of functions and variables used within the moller script. The description of the functions will be given in the next section. This feature depends on platforms.

    +
  6. +
  7. Processing Command-line options

    +

    The SLURM variants accept additional arguments to the job submission command (sbatch) that are passed to the job script as a command-line options. The name of the list file and/or the options such as the retry feature can be processed.

    +

    For the PBS variants, these command-line arguments are ignored, and therefore the name of the list file is fixed to list.dat by default, and the retry feature may be enabled by modifying the script with retry set to 1.

    +
  8. +
  9. Description of tasks

    +

    This part contains the description of tasks specified in the jobs section of the input file. When more than one task is given, the following procedure is applied to each task.

    +
    +

    When parallel = false, the content of the run block is written as-is.

    +

    When parallel = true (default), a function is created by the name task_{task name} that contains the pre-processing for concurrent execution and the content of the run block. The keywords for the parallel execution (srun, mpiexec, or mpirun) are substituted by the platform-dependent command. The definition of the task function is followed by the concurrent execution command.

    +
    +
  10. +
  11. Epilogue

    +

    This part corresponds to the epilogue section of the input file. The content of the code block is written as-is.

    +
  12. +
+
+
+

Brief description of moller script functions¶

+

The main functions of the moller script is briefly described below.

+
    +
  • run_parallel

    +

    This function performs concurrent execution of task functions. It takes the degree of parallelism, the task function, and the status file as arguments. Within the function, it calls _find_multiplicity to find the number of tasks that can be run simultaneously, and invokes GNU parallel to run tasks concurrently. The task function is actually wrapped by the _run_parallel_task function to deal with the nested call of GNU parallel.

    +

    The platform-dependence is separated out by the functions _find_multiplicity and _setup_run_parallel.

    +
  • +
  • _find_multiplicity

    +

    This function determines the number of tasks that can be simultaneously executed on the allocated resources (nodes and cores) taking account of the degree of parallelism of the task. +For the PBS variants, the compute nodes and the cores are divided into slots, and the slots are kept as table variables. +The information obtained at the batch job execution is summarized as follows.

    +
      +
    • For SLURM variants,

      +
      +

      The number of allocated nodes (_nnodes)

      +
      +

      SLURM_NNODES

      +
      +

      The number of allocated cores (_ncores)

      +
      +

      SLURM_CPUS_ON_NODE

      +
      +
      +
    • +
    • For PBS variants,

      +
      +

      The allocated nodes (_nodes[])

      +
      +

      The list of unique compute nodes is obtained from the file given by PBS_NODEFILE.

      +
      +

      The number of allocated nodes (_nnodes)

      +
      +

      The number of entries of _nodes[].

      +
      +

      The number of allocated cores

      +
      +

      Searched from below (in order of examination)

      +
        +
      • NCPUS (for PBS Professional)

      • +
      • OMP_NUM_THREADS

      • +
      • core parameter of platform section (written in the script as a variable moller_core.)

      • +
      • ncpus or ppn parameter in the header.

      • +
      +
      +
      +
    • +
    +
  • +
  • _setup_run_parallel

    +

    This function is called from the run_parallel function to supplement some procedures before running GNU parallel. +For PBS variants, the slot tables are exported so that the task functions can refer to. +For SLURM variants, there is nothing to do.

    +
  • +
+

The structure of the task function is described as follows.

+
    +
  • A task function is created by a name task_{task name}.

  • +
  • The arguments of the task function are 1) the degree of parallelism (the number of nodes, processes, and threads), 2) the execution directory (that corresponds to the entry of list file), 3) the slot ID assigned by GNU parallel.

  • +
  • The platform-dependent _setup_taskenv function is called to set up execution environment. +For PBS variants, the compute node and the cores are obtained from the slot table based on the slot ID. For SLURM variants, there is nothing to do.

  • +
  • The _is_ready function is called to check if the preceding task has been completed successfully. If it is true, the remaining part of the function is executed. Otherwise, the task is terminated with the status -1.

  • +
  • The content of the code block is written. The keywords for parallel calculation (srun, mpiexec, or mpirun) are substituted by the command provided for the platform.

  • +
+
+
+
+

6.3. How to extend moller for other systems¶

+

The latest version of moller provides profiles for ISSP supercomputer systems, ohtaka and kugui. An extension guide to use moller in other systems is described in the following.

+
+

Class structure¶

+

The platform-dependent parts of moller are placed in the directory platform/. +Their class structure is depicted below.

+
digraph class_diagram {
+size="5,5"
+node[shape=record,style=filled,fillcolor=gray95]
+edge[dir=back,arrowtail=empty]
+
+Platform[label="{Platform (base.py)}"]
+BaseSlurm[label="{BaseSlurm (base_slurm.py)}"]
+BasePBS[label="{BasePBS (base_pbs.py)}"]
+BaseDefault[label="{BaseDefault (base_default.py)}"]
+
+Ohtaka[label="{Ohtaka (ohtaka.py)}"]
+Kugui[label="{Kugui (kugui.py)}"]
+Pbs[label="{Pbs (pbs.py)}"]
+Default[label="{DefaultPlatform (default.py)}"]
+
+Platform->BaseSlurm
+Platform->BasePBS
+Platform->BaseDefault
+
+BaseSlurm->Ohtaka
+BasePBS->Kugui
+BasePBS->Pbs
+BaseDefault->Default
+}
+

A factory is provided to select a system in the input file. +A class is imported in platform/__init__.py and registered to the factory by register_platform(system_name, class_name), and then it becomes available in the system parameter of the platform section in the input YAML file.

+
+
+

SLURM job scheduler variants¶

+

For the SLURM job scheduler variants, the system-specific settings should be applied to a derived class of BaseSlurm class. +The string that substitute the keywords for the parallel execution of programs is given by the return value of parallel_command() method. It corresponds to the srun command with the options for the exclusive use of resources. See ohtaka.py for an example.

+
+
+

PBS job scheduler variants¶

+

For the PBS job scheduler variants (PBS Professional, OpenPBS, Torque, and others), the system-specific settings should be applied to a derived class of BasePBS class.

+

There are two ways of specifying the number of nodes for a batch job in the PBS variants. PBS Professional takes the form of select=N:ncpus=n, while Torque and others take the form of node=N:ppn=n. The BasePBS class has a parameter self.pbs_use_old_format that is set to True for the latter type.

+

The number of cores per compute node can be specified by node parameter of the input file, while the default value may be set for a known system. In kugui.py, the number of cores per node is set to 128 by default.

+
+
+

Customizing features¶

+

When further customization is required, the methods of the base class may be overridden in the derived classes. The list of relevant methods is given below.

+
    +
  • setup

    +

    This method extracts parameters of the platform section.

    +
  • +
  • parallel_command

    +

    This method returns a string that is used to substitute the keywords for parallel execution of programs (srun, mpiexec, mpirun).

    +
  • +
  • generate_header

    +

    This method generates the header part of the job script that contains options to the job scheduler.

    +
  • +
  • generate_function

    +

    This method generates functions that are used within the moller script. It calls the following methods to generate function body and variable definitions.

    +
      +
    • generate_variable

    • +
    • generate_function_body

    • +
    +

    The definitions of the functions are provided as embedded strings within the class.

    +
  • +
+
+
+

Porting to new type of job scheduler¶

+

The platform-dependent parts of the moller scripts are the calculation of task multiplicity, the resource distribution over tasks, and the command string of parallel calculation. +The internal functions need to be developed with the following information on the platform:

+
    +
  • how to acquire the allocated nodes and cores from the environment at the execution of batch jobs.

  • +
  • how to launch parallel calculation (e.g. mpiexec command) and how to assign the nodes and cores to the command.

  • +
+

To find which environment variables are set within the batch jobs, it may be useful to call printenv command in the job script.

+
+
+

Trouble shooting¶

+

When the variable _debug in the moller script is set to 1, the debug outputs are printed during the execution of the batch jobs. If the job does not work well, it is recommended that the debug option is turned on and the output is examined to check if the internal parameters are appropriately defined.

+
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/basic-usage.html b/manual/v1.0.0/en/html/moller/basic-usage.html new file mode 100644 index 0000000..ba1789c --- /dev/null +++ b/manual/v1.0.0/en/html/moller/basic-usage.html @@ -0,0 +1,259 @@ + + + + + + + + 2. Installation and basic usage — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

2. Installation and basic usage¶

+

Prerequisite

+
+

Comprehensive calculation utility moller included in HTP-tools requires the following programs and libraries:

+
    +
  • Python 3.x

  • +
  • ruamel.yaml module

  • +
  • tabulate module

  • +
  • GNU Parallel (It must be installed on servers or compute nodes on which the job script is executed.)

  • +
+
+

Official pages

+
+
+

Downloads

+
+

moller can be downloaded by the following command with git:

+
$ git clone https://github.com/issp-center-dev/Moller.git
+
+
+
+

Installation

+
+

Once the source files are obtained, you can install moller by running the following command. The required libraries will also be installed automatically at the same time.

+
$ cd ./Moller
+$ python3 -m pip install .
+
+
+

The executable files moller and moller_status will be installed.

+
+

Directory structure

+
+
.
+|-- LICENSE
+|-- README.md
+|-- pyproject.toml
+|-- docs/
+|   |-- ja/
+|   |-- en/
+|   |-- tutorial/
+|-- src/
+|   |-- moller/
+|       |-- __init__.py
+|       |-- main.py
+|       |-- platform/
+|       |   |-- __init__.py
+|       |   |-- base.py
+|       |   |-- base_slurm.py
+|       |   |-- base_pbs.py
+|       |   |-- base_default.py
+|       |   |-- ohtaka.py
+|       |   |-- kugui.py
+|       |   |-- pbs.py
+|       |   |-- default.py
+|       |   |-- function.py
+|       |   |-- utils.py
+|       |-- moller_status.py
+|-- sample/
+
+
+
+

Basic usage

+
+

moller is a tool to generate batch job scripts for supercomputers in which programs are run in parallel for a set of execution conditions using concurrent execution features.

+
    +
  1. Prepare job description file

    +
    +

    First, you need to create a job description file in YAML format that describes the tasks to be executed on supercomputers. The details of the format will be given in File Format section of the manual.

    +
    +
  2. +
  3. Run command

    +
    +

    Run moller program with the job description file, and a batch job script will be generated.

    +
    $ moller -o job.sh input.yaml
    +
    +
    +
    +
  4. +
  5. Run batch jobs

    +
    +

    Transfer the generated batch job scripts to the supercomputer. +Prepare a directory for each parameter set, and create a list of the directory names in a file list.dat. +Note that the list contains the relative paths to the directory where the batch job is executed, or the absolute paths.

    +

    Once the list file is ready, you may submit a batch job. The actual command depends on the system.

    +
      +
    • In case of ISSP system B (ohtaka)

      +

      In ohtaka, slurm is used for the job scheduling system. In order to submit a batch job, a command sbatch is invoked with the job script as an argument. Parameters can be passed to the script as additional arguments; the name of list file is specified as a parameter.

      +
      $ sbatch job.sh list.dat
      +
      +
      +

      If the list file is not specified, list.dat is used by default.

      +
    • +
    • In case of ISSP system C (kugui)

      +

      In kugui, PBS is used for the job scheduling system. In order to submit a batch job, a command qsub is invoked with the job script. There is no way to pass parameters to the script, and thus the name of the list file is fixed to list.dat.

      +
      $ qsub job.sh
      +
      +
      +
    • +
    +
    +
  6. +
  7. Check the status of the calculation

    +
    +

    After the job finishes, you may run the following command

    +
    $ moller_status input.yaml list.dat
    +
    +
    +

    to obtain a report whether the calculation for each parameter set has been completed successfully.

    +
    +
  8. +
  9. Retry/resume job

    +
    +

    In case the job is terminated during the execution, the job may be resumed by submitting the batch job again with the same list file. +The yet unexecuted jobs (as well as the unfinished jobs) will be run.

    +
      +
    • In case of ISSP system B (ohtaka)

    • +
    +
    $ sbatch job.sh list.dat
    +
    +
    +

    To retry the failed tasks, the batch job is submitted with --retry command line option.

    +
    $ sbatch job.sh --retry list.dat
    +
    +
    +
      +
    • In case of ISSP system C (kugui)

    • +
    +

    For kugui, to retry the failed tasks, the batch job script should be edited so that retry=0 is changed to be retry=1.

    +
    $ qsub job.sh
    +
    +
    +

    Then, the batch job is submitted as above.

    +
    +
  10. +
+
+

References

+

[1] O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/command/index.html b/manual/v1.0.0/en/html/moller/command/index.html new file mode 100644 index 0000000..8897888 --- /dev/null +++ b/manual/v1.0.0/en/html/moller/command/index.html @@ -0,0 +1,206 @@ + + + + + + + + 4. Command reference — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

4. Command reference¶

+
+

4.1. moller¶

+
+

Generate a batch job script for comprehensive calculation

+
+

SYNOPSIS:

+
+
moller [-o job_script] input_yaml
+
+
+
+

DESCRIPTION:

+
+

This program reads a job description file specified by input_yaml, and generates a batch job script. It takes the following command line options.

+
    +
  • -o, --output job_script

    +

    specifies output file name. This option supersedes the output_file parameter in the job description file. If no output file is specified, the result is written to the standard output.

    +
  • +
  • -h

    +

    displays help and exits.

    +
  • +
+
+
+
+

4.2. moller_status¶

+
+

Reports the status of comprehensive calculation jobs

+
+

SYNOPSIS:

+
+
moller_status [-h] [--text|--csv|--html] [--ok|--failed|--skipped|--collapsed|--yet] [-o output_file] input_yaml [list_file]
+
+
+
+

DESCRIPTION:

+
+

This program summarizes the status of tasks in jobs that are executed through the job scripts generated by moller, and outputs a report. The tasks are obtained from the job description file specified by input_yaml. The list of jobs is read from the file specified by list_file. If it is not provided, the job list is extracted from the log files. +The format of the output is specified by a command line option. The default is the text format. The output file is specified by the -o or --output option. If it is not specified, the output is written to the standard output.

+
    +
  • output formats

    +

    specifies the format of the output by one of the following options. If more than one option are specified, the program terminates with error. The default is the text format.

    +
      +
    • --text +displays in text format.

    • +
    • --csv +displays in CSV (comma-separated values) format.

    • +
    • --html +displays in HTML format.

    • +
    +
  • +
  • input_yaml

    +

    specifies the job description file for moller.

    +
  • +
  • list_file

    +

    specifies the file that contains list of job directories. If this file is not specified, the list will be obtained from the logfile of the batch job stat_{task}.dat.

    +
  • +
  • -o, --output output_file

    +

    specifies the output file name. If it is omitted, the result is written to the standard output.

    +
  • +
  • filter options

    +

    specifies the status of jobs to be displayed by one of the following options. All jobs are displayed by default.

    +
      +
    • --ok +displays only jobs whose tasks are all completed successfully.

    • +
    • --failed +displays jobs, any of whose tasks are failed with errors, skipped, or not performed.

    • +
    • --skipped +displays jobs, any of whose tasks are skipped.

    • +
    • --yet +displays jobs, any of whose tasks are not yet performed.

    • +
    • --collapsed +displays jobs, any of whose tasks are failed with errors.

    • +
    • --all +displays all jobs. (default)

    • +
    +
  • +
  • -h

    +

    displays help and exits.

    +
  • +
+
+

FILES:

+
+

When the programs are executed concurrently using the job script generated by moller, the status of the tasks are written in log files stat_{task}.dat. moller_status reads these log files and makes a summary.

+
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/filespec/index.html b/manual/v1.0.0/en/html/moller/filespec/index.html new file mode 100644 index 0000000..3d0e70c --- /dev/null +++ b/manual/v1.0.0/en/html/moller/filespec/index.html @@ -0,0 +1,253 @@ + + + + + + + + 5. File format — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

5. File format¶

+
+

5.1. Job description file¶

+

A job description file contains configurations to generate a batch job script by moller. It is prepared in text-based YAML format. This file consists of the following parts:

+
+
    +
  1. General settings: specifies job names and output files.

  2. +
  3. platform section: specifies the system on which batch jobs are executed, and the settings for the batch jobs.

  4. +
  5. prologue and epilogue sections: specifies initial settings and finalization within the batch job.

  6. +
  7. jobs section: specifies tasks to be carried out in the betch job script.

  8. +
+
+
+

General settings¶

+
+

name

+
+

specifies the name of the batch job. If it is not given, the job name is left unspecified. (Usually the name of the job script is used as the job name.)

+
+

description

+
+

provides the description of the batch job. It is regarded as comments.

+
+

output_file

+
+

specifies the output file name. When the output file is given by a command-line option, the command-line parameter is used. When none of them is specified, the result is written to the standard output.

+
+
+
+
+

platform¶

+
+

system

+
+

specifies the target system. At present, either ohtaka or kugui is accepted.

+
+

queue

+
+

specifies the name of batch queue. The actual value depends on the target system.

+
+

node

+
+

specifies the number of nodes to be used. It is given by an integer specifying the number of nodes, or a list of integers specifying [ number of nodes, number of cores per node ]. The accepted range of parameters depends on the system and queue settings. (The number of cores is accepted for kugui and default systems; otherwise it is ignored.)

+
+

core

+
+

specifies the number of cores per node be used. The accepted range of parameters depends on the system and queue settings. If both the second parameter of node and core are specified, the value in core is used. (This parameter is accepted for kugui and default target systems.)

+
+

elapsed

+
+

specifies the elapsed time of the batch job in HH:MM:SS format.

+
+

options

+
+

specifies other batch job options. It is given as a list of options or as a multiple-line string with options in each line. The heading directives (e.g. #PBS or #SBATCH) are not included. The examples are given as follows.

+
    +
  • an example of SLURM job script in the string format:

    +
    options: |
    +  --mail-type=BEGIN,END,FAIL
    +  --mail-user=user@sample.com
    +  --requeue
    +
    +
    +
  • +
  • an example of PBS job script in the list format:

    +
    options:
    +  - -m bea
    +  - -M user@sample.com
    +  - -r y
    +
    +
    +
  • +
+
+
+
+
+

prologue, epilogue¶

+

prologue section specifies the commands to be run prior to executing the tasks. It is used, for example, to set environment variables of libraries and paths. +epilogue section specifies the commands to be run after all tasks have been completed.

+
+

code

+
+

specifies the content of the commands in the form of shell script. It is embedded in the batch job script, and executed within the batch job.

+
+
+
+
+

jobs¶

+

jobs section specifies a sequence of tasks in a table format, with the task names as keys and the contents as values.

+
+

key

+
+

name of task

+
+

value

+
+

a table that consists of the following items:

+
+

description

+
+

provides the description of the task. It is regarded as comments.

+
+

node

+
+

specifies the degree of parallelism in one of the following formats.

+
    +
  • [ number of processes, number of threads per process ]

  • +
  • [ number of nodes, number of processes, number of threads per process ]

  • +
  • number of nodes

  • +
+

When the number of nodes is specified, the specified number of nodes are exclusively assigned to a job. Otherwise, if the required number of cores for a job is smaller than the number of cores in a node, more than one job may be allocated in a single node. If a job uses more than one node, the required number of nodes are exclusively assigned.

+
+

parallel

+
+

This parameter is set to true if the tasks of different jobs are executed in parallel. It is set to false if they are executed sequentially. The default value is true.

+
+

run

+
+

The content of the task is described in the form of shell script. The executions of MPI parallel programs or MPI/OpenMPI hybrid parallel programs are specified by

+
srun prog [arg1, ...]
+
+
+

where, in addition to the keyword srun, mpirun or mpiexec is accepted. In the resulting job script, they are replaced by the command (e.g. srun or mpirun) and the degree of parallelism specified by node parameter.

+
+
+
+
+
+
+
+

5.2. List file¶

+

This file contains a list of jobs. It is a text file with a job name in a line (The name of the directory is associated with the name of the job).

+

moller assumes that a directory is assigned to each job, and the tasks of the job are executed within the directory. These directories are supposed to be located in the directory where the batch job is submitted.

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/index.html b/manual/v1.0.0/en/html/moller/index.html new file mode 100644 index 0000000..6fa6e6c --- /dev/null +++ b/manual/v1.0.0/en/html/moller/index.html @@ -0,0 +1,152 @@ + + + + + + + + Comprehensive Calculation Utility (moller) — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/tutorial/basic.html b/manual/v1.0.0/en/html/moller/tutorial/basic.html new file mode 100644 index 0000000..ada8621 --- /dev/null +++ b/manual/v1.0.0/en/html/moller/tutorial/basic.html @@ -0,0 +1,336 @@ + + + + + + + + 3.1. Basic usage — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.1. Basic usage¶

+

The procedure to use the batch job script generator moller consists of the following steps: +First, a job description file is prepared that defines the tasks to be executed. Next, the program moller is to be run with the job description file, and a batch job script is generated. The script is then transferred to the target supercomputer system. A batch job is submitted with the script to perform calculations. +In this tutorial, we will explain the steps along a sample in docs/tutorial/moller.

+
+

Prepare job description file¶

+

A job description file describes the content of calculations that are carried out in a batch job. +Here, a batch job is used for a set of instructions submitted to job schedulers running on supercomputer systems. +On the other hand, for the concurrent execution of programs that moller handles, we call a series of program executions performed for one set of parameters by a job. A job may consist of several contents that we call tasks. moller organizes job execution so that each task is run in parallel, and the synchronization between the jobs is taken at every start and end of the tasks.

+
+Tasks and jobs +
+

Fig. 3.1 An example of tasks and jobs: Three jobs #1 … #3 are carried out within a single batch job. Each job corresponds to different set of parameters. A job consists of 4 tasks. Each task is run in parallel among these three jobs.¶

+
+
+

An example of job description file is presented in the following. A job description file is in text-based YAML format. It contains parameters concerning the platform and the batch job, task descriptions, and pre/post-processes.

+
name: testjob
+description: Sample task file
+
+platform:
+  system:  ohtaka
+  queue:   i8cpu
+  node:    1
+  elapsed: 00:10:00
+
+prologue:
+  code: |
+    module purge
+    module load oneapi_compiler/2023.0.0 openmpi/4.1.5-oneapi-2023.0.0-classic
+
+    ulimit -s unlimited
+
+    source /home/issp/materiapps/intel/parallel/parallelvars-20210622-1.sh
+
+jobs:
+  start:
+    parallel: false
+    run: |
+      echo "start..."
+
+  hello:
+    description: hello world
+    node: [1,1]
+    run: |
+      echo "hello world." > result.txt
+      sleep 2
+
+  hello_again:
+    description: hello world again
+    node: [1,1]
+    run: |
+      echo "hello world again." >> result.txt
+      sleep 2
+
+epilogue:
+  code: |
+    echo "done."
+    date
+
+
+

In the platform section, you can specify the type of platform on which to execute. +In this case, settings for the System B (ohtaka) are being made.

+

The prologue section describes the preprocessing of the batch job. +It details the common command line to be executed before running the task.

+

In the jobs section, the content of the task processing is described. +The series of tasks to be executed in the job are described in a table format, +with the task name as the key and the processing content as the value.

+

In this example, a task that first outputs “start…†is defined with the task name “startâ€. +Here, it is set to parallel = false. +In this case, the content of run parameter is executed sequentially.

+

Next, a task that outputs “hello world.†is defined with the task name “hello_world†. +Here, since “parallel†is not set, it is treated as parallel = true. +In this case, parallel processing is performed on a per-job basis. +Similarly, next, a task that outputs “hello world again.†is defined with the task name “hello_againâ€.

+

Finally, in the epilogue section, the post-processing of the batch job is described. +It details the common command line to be executed after running the task.

+

For more details on the specifications, please refer to the chapter File Format.

+
+
+

Generate batch job script¶

+

moller is to be run with the job description file (input.yaml) as an input as follows:

+
$ moller -o job.sh input.yaml
+
+
+

A batch job script is generated and written to a file specified by the parameter in the job description file, or the command line option -o or --output. If both specified, the command line option is used. If neither specified, the result is written to the standard output.

+

The obtained batch job script is to be transferred to the target system as required. It is noted that the batch job script is prepared for bash; users may need to set the shell for job execution to bash. (A care should be needed if the login shell is set to csh-type.)

+
+
+

Create list file¶

+

A list of jobs is to be created. moller is designed so that each job is executed within a directory prepared for the job with the job name. The job list can be created, for example, by the following command:

+
$ /usr/bin/ls -1d * > list.dat
+
+
+

In this tutorial, an utility script make_inputs.sh is enclosed which generates datasets and a list file.

+
$ bash ./make_inputs.sh
+
+
+

By running the above command, a directory output and a set of subdirectories dataset-0001 … dataset-0020 that correspond to datasets, and a list file list.dat are created.

+
+
+

Run batch job¶

+

The batch job is to be submitted to the job scheduler with the batch job script. +In this example, the job script and the input parameter files are copied into the output directory, and the current directory is changed to ``output` as follows:

+
$ cp job.sh input.yaml output/
+$ cd output
+
+
+

In ohtaka, slurm is used for the job scheduling system. In order to submit a batch job, a command sbatch is invoked with the job script as an argument. +Parameters can be passed to the script as additional arguments; the name of list file is specified as a parameter.

+
$ sbatch job.sh list.dat
+
+
+

Files named ‘result.txt’ will be generated in each directory listed on the list.dat. +You can confirm that the ‘result.txt’ contains the strings ‘hello world.’ and ‘hello world again.’ as the job results.

+
+
+

Check status¶

+

The status of execution of the tasks are written to log files. A tool named moller_status is provided to generate a summary of the status of each job from the log files. It is invoked by the following command in the directory where the batch job is executed:

+
$ moller_status input.yaml list.dat
+
+
+

The command takes the job description file input.yaml and the list file list.dat as arguments. The list file may be omitted; in this case, the information of the jobs are extracted from the log files.

+

An example of the output is shown below:

+
| job          | hello   | hello_again   |
+|--------------|---------|---------------|
+| dataset-0001 | o       | o             |
+| dataset-0002 | o       | o             |
+| dataset-0003 | o       | o             |
+| dataset-0004 | o       | o             |
+| dataset-0005 | o       | o             |
+| dataset-0006 | o       | o             |
+| dataset-0007 | o       | o             |
+| dataset-0008 | o       | o             |
+| dataset-0009 | o       | o             |
+| dataset-0010 | o       | o             |
+| dataset-0011 | o       | o             |
+| dataset-0012 | o       | o             |
+| dataset-0013 | o       | o             |
+| dataset-0014 | o       | o             |
+| dataset-0015 | o       | o             |
+| dataset-0016 | o       | o             |
+| dataset-0017 | o       | o             |
+| dataset-0018 | o       | o             |
+| dataset-0019 | o       | o             |
+| dataset-0020 | o       | o             |
+
+
+

where “o†corresponds to a task that has been completed successfully, “x†corresponds to a failed task, “-†corresponds to a skipped task because the previous task has been terminated with errors, and “.†corresponds to a task yet unexecuted. +In the above example, the all tasks have been completed successfully.

+
+
+

Rerun failed tasks¶

+

If a task fails, the subsequent tasks within the job will not be executed. +The following is an example of job status in which each task fails by 10% change.

+
| job          | task1   | task2   | task3   |
+|--------------|---------|---------|---------|
+| dataset_0001 | o       | o       | o       |
+| dataset_0002 | o       | x       | -       |
+| dataset_0003 | x       | -       | -       |
+| dataset_0004 | x       | -       | -       |
+| dataset_0005 | o       | o       | o       |
+| dataset_0006 | o       | o       | o       |
+| dataset_0007 | o       | x       | -       |
+| dataset_0008 | o       | o       | o       |
+| dataset_0009 | o       | o       | x       |
+| dataset_0010 | o       | o       | o       |
+| dataset_0011 | o       | o       | o       |
+| dataset_0012 | o       | o       | o       |
+| dataset_0013 | o       | x       | -       |
+| dataset_0014 | o       | o       | o       |
+| dataset_0015 | o       | o       | o       |
+| dataset_0016 | o       | o       | o       |
+| dataset_0017 | o       | o       | o       |
+| dataset_0018 | o       | o       | o       |
+| dataset_0019 | o       | o       | o       |
+| dataset_0020 | o       | o       | o       |
+
+
+

There, the jobs of dataset_0003 and dataset_0004 failed at task1, and the subsequent task2 and task3 were not executed. The other jobs were successful at task1, and proceeded to task2. +In this way, each job is executed independently of other jobs.

+

Users can rerun the failed tasks by submitting the batch job with the retry option. +For SLURM job scheduler (e.g. used in ISSP system B), resubmit the job as follows:

+
$ sbatch job.sh --retry list.dat
+
+
+

For PBS job scheduler (e.g. used in ISSP system C), edit the job script so that the line retry=0 is replaced by retry=1, and resubmit the job.

+
| job          | task1   | task2   | task3   |
+|--------------|---------|---------|---------|
+| dataset_0001 | o       | o       | o       |
+| dataset_0002 | o       | o       | x       |
+| dataset_0003 | o       | x       | -       |
+| dataset_0004 | o       | o       | o       |
+| dataset_0005 | o       | o       | o       |
+| dataset_0006 | o       | o       | o       |
+| dataset_0007 | o       | o       | o       |
+| dataset_0008 | o       | o       | o       |
+| dataset_0009 | o       | o       | o       |
+| dataset_0010 | o       | o       | o       |
+| dataset_0011 | o       | o       | o       |
+| dataset_0012 | o       | o       | o       |
+| dataset_0013 | o       | o       | o       |
+| dataset_0014 | o       | o       | o       |
+| dataset_0015 | o       | o       | o       |
+| dataset_0016 | o       | o       | o       |
+| dataset_0017 | o       | o       | o       |
+| dataset_0018 | o       | o       | o       |
+| dataset_0019 | o       | o       | o       |
+| dataset_0020 | o       | o       | o       |
+
+
+

The tasks that have failed will be executed in the second run. +In the above example, the task1 for dataset_0003 was successful, but the task2 failed. +For dataset_0004, task1, task2, and task3 were successfully executed. +For the jobs of datasets whose tasks have already finished successfully, the second run will not do anything.

+

N.B. the list file must not be modified on the rerun. The jobs are managed according to the order of entries in the list file, and therefore, if the order is changed, the jobs will not be executed properly.

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/tutorial/dsqss.html b/manual/v1.0.0/en/html/moller/tutorial/dsqss.html new file mode 100644 index 0000000..2457b43 --- /dev/null +++ b/manual/v1.0.0/en/html/moller/tutorial/dsqss.html @@ -0,0 +1,203 @@ + + + + + + + + 3.3. Example for moller calculation with DSQSS — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.3. Example for moller calculation with DSQSS¶

+
+

What’s this sample?¶

+

This is an example of moller with +DSQSS, which is an +open-source software package for performing the path-integral Monte +Calro method for quantum many-body problem. In this example, we will +calculate the temperature dependence of the magnetic susceptibilities +\(\chi\) of the \(S=1/2\) (\(M=1\) in the terms of DSQSS) +and \(S=1\) (\(M=2\)) antiferromagnetic Heisenberg chain under +the periodic boundary condition with several length. By using +moller, calculations with different parameters (\(M, L, T\)) are +performed in parallel.

+

This example is corresponding to one of the official +tutorials.

+
+
+

Preparation¶

+

Make sure that moller (HTP-tools) package and DSQSS are +installed. In this tutorial, the calculation will be performed using the +supercomputer system ohtaka at ISSP.

+
+
+

How to run¶

+
    +
  1. Prepare dataset

    +

    Run the script make_inputs.sh enclosed within this package.

    +
    $ bash ./make_inputs.sh
    +
    +
    +

    This make an output directory (if already exists, first removed +then make again). Under output, working directories for each +parameter like L_8__M_1__T_1.0 will be generated. A list of the +directories is written to a file list.dat.

    +
  2. +
  3. Generate job script using moller

    +

    Generate a job script from the job description file using moller, +and store the script as a file named job.sh.

    +
    $ moller -o job.sh input.yaml
    +
    +
    +

    Then, copy job.sh in the output directory, and change +directory to output.

    +
  4. +
  5. Run batch job

    +

    Submit a batch job with the job list as an argument.

    +
    $ sbatch job.sh list.dat
    +
    +
    +
  6. +
  7. Check status

    +

    The status of task execution will be summarized by moller_status +program.

    +
    $ moller_status input.yaml list.dat
    +
    +
    +
  8. +
  9. Gather results

    +

    After calculation finishes, gather result by

    +
    $ python3 ../extract_result.py list.dat
    +
    +
    +

    This script writes results into a text file result.dat which has +5 columns, \(M\), \(L\), \(T\), mean of \(\chi\), and +stderr of \(\chi\).

    +

    To visualize the results, GNUPLOT files plot_M1.plt and +plot_M2.plt are available.

    +
    $ gnuplot --persist plot_M1.plt
    +$ gnuplot --persist plot_M2.plt
    +
    +
    +

    susceptibilities for S=1/2 susceptibilities for S=2

    +

    The main different between \(S=1/2\) and \(S=1\) AFH chains +is whether the excitation gap vanishes (\(S=1/2\)) or remains +(\(S=1\)). Reflecting this, the magnetic susceptibility in the +very low temperature region remains finite (\(S=1/2\)) or +vanishes (\(S=1\)). Note that for the \(S=1/2\) case, the +finite size effect opens the spin gap and therefore the magnetic +susceptibility of small chains drops.

    +
  10. +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/tutorial/hphi.html b/manual/v1.0.0/en/html/moller/tutorial/hphi.html new file mode 100644 index 0000000..dac4df3 --- /dev/null +++ b/manual/v1.0.0/en/html/moller/tutorial/hphi.html @@ -0,0 +1,209 @@ + + + + + + + + 3.2. Example for moller calculation with HPhi — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.2. Example for moller calculation with HPhi¶

+
+

What’s this sample?¶

+

This is an example of moller with +HPhi, which is an +open-source software package for performing the exact diagonalization +method for quantum many-body problems. In this example, we will +calculate the system size dependence of the excitation gap +\(\Delta\) of the \(S=1/2\) (2S_1 directory) and \(S=1\) +(2S_2) antiferromagnetic Heisenberg chain under the periodic +boundary condition. By using moller, calculations with different +system sizes are performed in parallel. This is corresponding to +section +1.4 +of HPhi’s official tutorial.

+
+
+

Preparation¶

+

Make sure that moller (HTP-tools) package and HPhi are +installed. In this tutorial, the calculation will be performed using the +supercomputer system ohtaka at ISSP.

+
+
+

How to run¶

+
    +
  1. Prepare dataset

    +

    Run the script make_inputs.sh enclosed within this package.

    +
    $ bash ./make_inputs.sh
    +
    +
    +

    Working directories L_8, L_10, …, L_24 (up to L_18 +for 2S_2)) will be generated. A list of the directories is +written to a file list.dat. Additionally, a shell script, +extract_gap.sh, to gather energy gaps from working directories is +generated.

    +
  2. +
  3. Generate job script using moller

    +

    Generate a job script from the job description file using moller, +and store the script as a file named job.sh.

    +
    $ moller -o job.sh input.yaml
    +
    +
    +
  4. +
  5. Run batch job

    +

    Submit a batch job with the job list as an argument.

    +
    $ sbatch job.sh list.dat
    +
    +
    +
  6. +
  7. Check status

    +

    The status of task execution will be summarized by moller_status +program.

    +
    $ moller_status input.yaml list.dat
    +
    +
    +
  8. +
  9. Gather results

    +

    Once the calculation finishes, gather energy gaps from jobs as

    +
    $ bash extract_gap.sh
    +
    +
    +

    This script writes pairs of the length \(L\) and the gap +\(\Delta\) into a text file, gap.dat.

    +

    To visualize the results, a Gnuplot file gap.plt is available. In +this file, the obtained gap data are fitted by the expected curves,

    +
    +(3.1)¶\[\Delta(L; S=1/2) = \Delta_\infty + A/L\]
    +

    and

    +
    +(3.2)¶\[\Delta(L; S=1) = \Delta_\infty + B\exp(-CL).\]
    +

    The result is plotted as follows:

    +
    $ gnuplot --persist gap.plt
    +
    +
    +
    +Finite size effect of spin gap +
    +

    Fig. 3.3 Finite size effect of spin gap¶

    +
    +
    +

    Note that the logarithmic correction causes the spin gap for +\(S=1/2\) to remain finite. On the other hand, for \(S=1\), +the extrapolated value \(\Delta_\infty = 0.417(1)\) is consistent +with the previous results, e.g., \(\Delta_\infty = 0.41048(6)\) +by QMC (Todo and Kato, PRL 87, 047203 (2001)).

    +
  10. +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/moller/tutorial/index.html b/manual/v1.0.0/en/html/moller/tutorial/index.html new file mode 100644 index 0000000..330382a --- /dev/null +++ b/manual/v1.0.0/en/html/moller/tutorial/index.html @@ -0,0 +1,144 @@ + + + + + + + + 3. Tutorial — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/objects.inv b/manual/v1.0.0/en/html/objects.inv new file mode 100644 index 0000000..b7ee2c3 --- /dev/null +++ b/manual/v1.0.0/en/html/objects.inv @@ -0,0 +1,5 @@ +# Sphinx inventory version 2 +# Project: Moller Users Guide +# Version: 1.0 +# The remainder of this file is compressed using zlib. +xÚ“ÏNÄ Æïû“èAuãÕ£ë߃IMÝ`a¶P@ ºûö–RÖ’¶«72óÍï› F%Ã8Ïî$Ù¡„âê!zÃ}#á5W¿2¦ioZJ´°uh<·‚áªÑllŽEJ¤JÖJ,š³&;ÝúõÄošMíyÛQ¨ZÆ bâ°LÉôxð¨\Gz¡—h©q4ʦvœ'R’ÐÅ W@¯HHª›¦K-v—å#vC`q=±öB¢3Ha¹ ÒžºìµmˆOœ¥ò¼c‘‡%}!lˆ¤í0çÖ )ü®bÑu‚úÖk+ˆŒkš¡ç‚hs?]ØIÆܧsç8½ Ý'iLœsõü-<‡‡ê½ª&.ÜpqÎ$äÿïñRr1±XZw.ˆ&Cl5ú>ü«òèyçŸ}/‡ÄRžÆX¬©b¾ {wH‹ðpâÉk–ßÕÅeö²$Í3‹˜¹ý1¾ÿ!-®‡ \ No newline at end of file diff --git a/manual/v1.0.0/en/html/search.html b/manual/v1.0.0/en/html/search.html new file mode 100644 index 0000000..34f2ebe --- /dev/null +++ b/manual/v1.0.0/en/html/search.html @@ -0,0 +1,123 @@ + + + + + + + Search — Moller Users Guide 1.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

Search

+ + + + +

+ Searching for multiple words only shows matches that contain + all words. +

+ + +
+ + + +
+ + + +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/en/html/searchindex.js b/manual/v1.0.0/en/html/searchindex.js new file mode 100644 index 0000000..232b656 --- /dev/null +++ b/manual/v1.0.0/en/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["index", "moller/about/index", "moller/appendix/index", "moller/basic-usage", "moller/command/index", "moller/filespec/index", "moller/index", "moller/tutorial/basic", "moller/tutorial/dsqss", "moller/tutorial/hphi", "moller/tutorial/index"], "filenames": ["index.rst", "moller/about/index.rst", "moller/appendix/index.rst", "moller/basic-usage.rst", "moller/command/index.rst", "moller/filespec/index.rst", "moller/index.rst", "moller/tutorial/basic.rst", "moller/tutorial/dsqss.rst", "moller/tutorial/hphi.rst", "moller/tutorial/index.rst"], "titles": ["Moller Users Guide", "1. Introduction", "6. Extension guide", "2. Installation and basic usage", "4. Command reference", "5. File format", "Comprehensive Calculation Utility (moller)", "3.1. Basic usage", "3.3. Example for moller calculation with DSQSS", "3.2. Example for moller calculation with HPhi", "3. Tutorial"], "terms": {"comprehens": [0, 3, 4], "calcul": [0, 2, 3, 4, 7, 10], "util": [0, 3, 7], "introduct": [0, 6], "instal": [0, 6, 8, 9], "basic": [0, 6, 10], "usag": [0, 2, 6, 10], "tutori": [0, 3, 6, 7, 8, 9], "command": [0, 2, 3, 5, 6, 7], "refer": [0, 2, 3, 6, 7], "file": [0, 2, 3, 4, 6, 8, 9, 10], "format": [0, 2, 3, 4, 6, 7], "extens": [0, 6], "In": [1, 2, 3, 5, 7, 8, 9], "recent": 1, "year": 1, "us": [1, 2, 3, 4, 5, 7, 8, 9], "machin": 1, "learn": 1, "predict": 1, "materi": 1, "properti": 1, "design": [1, 7], "substanc": 1, "known": [1, 2], "informat": 1, "ha": [1, 2, 3, 7, 8], "gain": 1, "consider": 1, "attent": 1, "The": [1, 2, 3, 4, 5, 7, 8, 9], "accuraci": 1, "depend": [1, 2, 3, 5, 8, 9], "heavili": 1, "prepar": [1, 3, 5, 10], "appropri": [1, 2], "train": 1, "data": [1, 9], "therefor": [1, 2, 7, 8], "develop": [1, 2], "tool": [1, 2, 3, 7, 8, 9], "rapid": 1, "gener": [1, 2, 3, 4, 8, 9, 10], "expect": [1, 9], "contribut": 1, "significantli": 1, "advanc": 1, "research": 1, "provid": [1, 2, 4, 5, 7], "part": [1, 2, 5], "htp": [1, 3, 8, 9], "packag": [1, 8, 9], "support": 1, "high": 1, "throughput": 1, "comput": [1, 2, 3], "It": [1, 2, 3, 4, 5, 7], "batch": [1, 2, 3, 4, 5, 8, 9, 10], "job": [1, 3, 4, 6, 8, 9, 10], "script": [1, 3, 4, 5, 8, 9, 10], "supercomput": [1, 2, 3, 7, 8, 9], "cluster": 1, "allow": 1, "parallel": [1, 2, 3, 5, 7, 8, 9], "execut": [1, 3, 4, 5, 6, 7, 8, 9], "program": [1, 2, 3, 4, 5, 7, 8, 9], "under": [1, 8, 9], "seri": [1, 7], "condit": [1, 3, 8, 9], "paramet": [1, 2, 3, 4, 5, 7, 8], "current": [1, 7], "ohtaka": [1, 2, 3, 5, 7, 8, 9], "slurm": [1, 3, 5, 7], "schedul": [1, 3, 7], "kugui": [1, 2, 3, 5], "pb": [1, 3, 5, 7], "institut": 1, "solid": 1, "state": 1, "physic": 1, "univers": 1, "tokyo": 1, "distribut": [1, 2], "sourc": [1, 3, 7, 8, 9], "code": [1, 2, 5, 7], "follow": [1, 2, 3, 4, 5, 7, 9], "gnu": [1, 2, 3], "public": 1, "version": [1, 2], "3": [1, 2, 3, 7], "gpl": 1, "v3": 1, "later": 1, "thi": [1, 2, 4, 5, 7, 10], "softwar": [1, 8, 9], "wa": [1, 7], "ver": 1, "1": [1, 2, 3, 7, 8, 9], "0": [1, 3, 7, 8, 9], "releas": 1, "2024": 1, "03": 1, "06": 1, "beta": 1, "2023": [1, 7], "12": 1, "28": 1, "kazuyoshi": 1, "yoshimi": 1, "instutit": 1, "tatsumi": 1, "aoyama": 1, "yuichi": 1, "motoyama": 1, "masahiro": 1, "fukuda": 1, "kota": 1, "ido": 1, "tetsuya": 1, "fukushima": 1, "nation": 1, "industri": 1, "scienc": 1, "technologi": 1, "aist": 1, "shusuk": 1, "kasamatsu": 1, "yamagata": 1, "takashi": 1, "koretsun": 1, "tohoku": 1, "project": 1, "corrdin": 1, "taisuk": 1, "ozaki": 1, "all": [1, 2, 4, 5, 7], "right": 1, "reserv": 1, "usabl": 1, "test": 1, "platform": [1, 2, 3, 7], "ubuntu": 1, "linux": 1, "python3": [1, 3, 8], "n": [2, 7], "b": [2, 3, 7, 9], "content": [2, 5, 7], "section": [2, 3, 5, 7, 9], "mai": [2, 3, 5, 7], "vari": 2, "A": [2, 5, 7, 8, 9], "mean": [2, 8], "set": [2, 3, 7], "small": [2, 8], "task": [2, 3, 4, 5, 8, 9, 10], "ar": [2, 3, 4, 5, 7, 8, 9], "within": [2, 5, 7, 8, 9], "singl": [2, 5, 7], "submit": [2, 3, 5, 7, 8, 9], "larg": 2, "queue": [2, 5, 7], "i": [2, 3, 4, 5, 6, 7, 8, 9], "schemat": 2, "shown": [2, 7], "which": [2, 3, 5, 7, 8, 9], "launch": 2, "background": 2, "process": [2, 5, 7], "wait": 2, "statement": 2, "invok": [2, 3, 7], "complet": [2, 3, 4, 5, 7], "param_1": 2, "param_2": 2, "param_n": 2, "To": [2, 3, 8, 9], "manag": [2, 7], "requir": [2, 3, 5, 7], "node": [2, 3, 5, 7], "core": [2, 5], "alloc": [2, 5], "over": 2, "so": [2, 3, 7], "thei": [2, 5], "distinct": 2, "also": [2, 3], "need": [2, 3, 7], "arrang": 2, "where": [2, 3, 5, 7], "most": 2, "run": [2, 3, 5, 10], "simultan": 2, "accord": [2, 7], "resourc": 2, "hereaft": 2, "denot": 2, "concurr": [2, 3, 4, 7], "control": 2, "take": [2, 4, 7], "list": [2, 3, 4, 6, 8, 9, 10], "hold": 2, "item": [2, 5], "each": [2, 3, 5, 7, 8], "an": [2, 3, 5, 7, 8, 9], "exampl": [2, 5, 6, 7, 10], "given": [2, 3, 5], "dat": [2, 3, 4, 7, 8, 9], "contain": [2, 3, 4, 5, 7], "line": [2, 3, 4, 5, 7], "cat": 2, "j": 2, "number": [2, 5], "determin": 2, "runtim": 2, "from": [2, 4, 7, 8, 9], "obtain": [2, 3, 4, 7, 9], "environ": [2, 5, 6], "degre": [2, 5], "thread": [2, 5], "specifi": [2, 3, 4, 5, 7], "wai": [2, 3, 7], "assign": [2, 5], "For": [2, 3, 7], "call": [2, 7], "srun": [2, 5], "exploit": 2, "option": [2, 3, 4, 5, 7], "exclus": [2, 5], "explicit": 2, "On": [2, 7, 9], "hand": [2, 7, 9], "do": [2, 7], "have": [2, 5, 7], "handl": [2, 7], "divid": 2, "slot": 2, "divis": 2, "kept": 2, "form": [2, 5], "tabl": [2, 5, 7], "variabl": [2, 5], "host": 2, "pin": 2, "through": [2, 4], "mpirun": [2, 5], "mpiexec": [2, 5], "mpi": [2, 5], "implement": 2, "o": [2, 3, 4, 7, 8, 9], "tang": [2, 3], "power": [2, 3], "login": [2, 3, 7], "usenix": [2, 3], "magazin": [2, 3], "februari": [2, 3], "2011": [2, 3], "42": [2, 3], "47": [2, 3], "read": [2, 4], "input": [2, 3, 7, 8, 9], "yaml": [2, 3, 5, 7, 8, 9], "describ": [2, 3, 5, 7], "header": 2, "prologu": [2, 7], "correspond": [2, 7, 8, 9], "block": 2, "written": [2, 4, 5, 7, 8, 9], "definit": 2, "next": [2, 7], "accept": [2, 5], "addit": [2, 3, 5, 7], "argument": [2, 3, 7, 8, 9], "submiss": 2, "sbatch": [2, 3, 5, 7, 8, 9], "pass": [2, 3, 7], "name": [2, 3, 4, 5, 7, 8, 9], "retri": [2, 3, 7], "can": [2, 3, 7], "ignor": [2, 5], "fix": [2, 3], "default": [2, 3, 4, 5], "enabl": 2, "modifi": [2, 7], "when": [2, 4, 5], "more": [2, 4, 5, 7], "than": [2, 4, 5], "one": [2, 4, 5, 7, 8], "procedur": [2, 7], "appli": 2, "fals": [2, 5, 7], "true": [2, 5, 7], "creat": [2, 3, 10], "task_": 2, "pre": [2, 7], "keyword": [2, 5], "substitut": 2, "epilogu": [2, 7], "main": [2, 3, 8], "briefli": 2, "below": [2, 7], "run_parallel": 2, "perform": [2, 4, 7, 8, 9], "statu": [2, 3, 4, 8, 9, 10], "_find_multipl": 2, "find": 2, "actual": [2, 3, 5], "wrap": 2, "_run_parallel_task": 2, "deal": 2, "nest": 2, "separ": [2, 4], "out": [2, 5, 7], "_setup_run_parallel": 2, "account": 2, "inform": [2, 7], "summar": [2, 4, 8, 9], "_nnode": 2, "slurm_nnod": 2, "_ncore": 2, "slurm_cpus_on_nod": 2, "_node": 2, "uniqu": 2, "pbs_nodefil": 2, "entri": [2, 7], "search": 2, "order": [2, 3, 7], "examin": 2, "ncpu": 2, "profession": 2, "omp_num_thread": 2, "moller_cor": 2, "ppn": 2, "supplement": 2, "some": 2, "befor": [2, 7], "export": 2, "noth": 2, "2": [2, 7, 8, 9], "directori": [2, 3, 4, 5, 7, 8, 9], "id": 2, "_setup_taskenv": 2, "up": [2, 9], "base": [2, 3, 5, 7], "_is_readi": 2, "check": [2, 3, 8, 9, 10], "preced": 2, "been": [2, 3, 5, 7], "successfulli": [2, 3, 4, 7], "If": [2, 3, 4, 5, 7], "remain": [2, 8, 9], "otherwis": [2, 5], "termin": [2, 3, 4, 7], "latest": 2, "profil": 2, "issp": [2, 3, 7, 8, 9], "place": 2, "Their": 2, "depict": 2, "factori": 2, "select": 2, "import": 2, "__init__": [2, 3], "py": [2, 3, 8], "regist": 2, "register_platform": 2, "system_nam": 2, "class_nam": 2, "becom": 2, "avail": [2, 8, 9], "specif": [2, 7], "should": [2, 3, 7], "deriv": 2, "baseslurm": 2, "string": [2, 5, 7], "return": 2, "valu": [2, 4, 5, 7, 9], "parallel_command": 2, "method": [2, 8, 9], "see": 2, "openpb": 2, "torqu": 2, "basepb": 2, "There": [2, 3, 7], "two": 2, "while": 2, "self": 2, "pbs_use_old_format": 2, "latter": 2, "per": [2, 5, 7], "128": 2, "further": 2, "overridden": 2, "relev": 2, "setup": 2, "extract": [2, 4, 7], "generate_head": 2, "generate_funct": 2, "bodi": [2, 8, 9], "generate_vari": 2, "generate_function_bodi": 2, "embed": [2, 5], "multipl": [2, 5], "intern": 2, "acquir": 2, "e": [2, 5, 7, 9], "g": [2, 5, 7, 9], "printenv": 2, "_debug": 2, "debug": 2, "output": [2, 4, 5, 7, 8], "print": 2, "dure": [2, 3], "doe": 2, "well": [2, 3], "recommend": 2, "turn": 2, "defin": [2, 7], "prerequisit": 3, "moller": [3, 5, 7, 10], "includ": [3, 5], "librari": [3, 5], "python": 3, "x": [3, 7], "ruamel": 3, "modul": [3, 7], "tabul": 3, "must": [3, 7], "server": 3, "offici": [3, 8, 9], "page": 3, "github": 3, "repositori": 3, "download": 3, "git": 3, "clone": 3, "http": 3, "com": [3, 5], "center": 3, "dev": 3, "onc": [3, 9], "you": [3, 7], "automat": 3, "same": 3, "time": [3, 5], "cd": [3, 7], "m": [3, 5, 8], "pip": 3, "moller_statu": [3, 6, 7, 8, 9], "structur": 3, "licens": [3, 6], "readm": 3, "md": 3, "pyproject": 3, "toml": 3, "doc": [3, 7], "ja": 3, "en": 3, "src": 3, "base_slurm": 3, "base_pb": 3, "base_default": 3, "function": 3, "sampl": [3, 5, 7, 10], "featur": 3, "descript": [3, 4, 6, 8, 9, 10], "first": [3, 7, 8], "detail": [3, 7], "manual": 3, "sh": [3, 7, 8, 9], "transfer": [3, 7], "note": [3, 7, 8, 9], "rel": 3, "path": [3, 5, 8], "absolut": 3, "readi": 3, "system": [3, 5, 6, 7, 8, 9], "case": [3, 7, 8], "c": [3, 7], "qsub": 3, "thu": 3, "after": [3, 5, 7, 8], "finish": [3, 7, 8, 9], "report": [3, 4], "whether": [3, 8], "resum": 3, "again": [3, 7, 8], "yet": [3, 4, 7], "unexecut": [3, 7], "unfinish": 3, "fail": [3, 4, 5, 10], "edit": [3, 7], "chang": [3, 7, 8], "Then": [3, 8], "abov": [3, 7], "synopsi": 4, "job_script": 4, "input_yaml": 4, "supersed": 4, "output_fil": [4, 5], "result": [4, 5, 7, 8, 9], "standard": [4, 5, 7], "h": 4, "displai": 4, "help": 4, "exit": 4, "text": [4, 5, 7, 8, 9], "csv": 4, "html": 4, "ok": 4, "skip": [4, 7], "collaps": 4, "list_fil": 4, "log": [4, 7], "error": [4, 7], "comma": 4, "logfil": 4, "stat_": 4, "omit": [4, 7], "filter": 4, "onli": 4, "whose": [4, 7], "ani": 4, "make": [4, 8, 9], "summari": [4, 7], "configur": 5, "consist": [5, 7, 9], "initi": 5, "final": [5, 7], "carri": [5, 7], "betch": 5, "left": 5, "unspecifi": 5, "usual": 5, "regard": 5, "comment": 5, "none": 5, "them": 5, "target": [5, 7], "At": 5, "present": [5, 7], "either": 5, "integ": 5, "rang": 5, "both": [5, 7], "second": [5, 7], "elaps": [5, 7], "hh": 5, "mm": 5, "ss": 5, "other": [5, 6, 7, 9], "head": 5, "direct": 5, "mail": 5, "type": [5, 7], "begin": 5, "end": [5, 7], "user": [5, 7], "requeu": 5, "bea": 5, "r": 5, "y": 5, "prior": 5, "shell": [5, 7, 9], "sequenc": 5, "kei": [5, 7], "smaller": 5, "differ": [5, 7, 8, 9], "sequenti": [5, 7], "openmpi": [5, 7], "hybrid": 5, "prog": 5, "arg1": 5, "replac": [5, 7], "associ": 5, "assum": 5, "These": 5, "suppos": 5, "locat": 5, "what": [6, 10], "contributor": 6, "copyright": 6, "oper": 6, "hphi": [6, 10], "dsqss": [6, 10], "guid": 6, "bulk": 6, "how": [6, 10], "work": [6, 8, 9], "extend": 6, "step": 7, "we": [7, 8, 9], "explain": 7, "along": 7, "here": 7, "instruct": 7, "sever": [7, 8], "organ": 7, "synchron": 7, "between": [7, 8], "taken": 7, "everi": 7, "start": 7, "three": 7, "4": [7, 9], "among": 7, "concern": 7, "post": 7, "testjob": 7, "i8cpu": 7, "00": 7, "10": 7, "purg": 7, "load": 7, "oneapi_compil": 7, "5": [7, 8], "oneapi": 7, "classic": 7, "ulimit": 7, "": [7, 10], "unlimit": 7, "home": 7, "materiapp": 7, "intel": 7, "parallelvar": 7, "20210622": 7, "echo": 7, "hello": 7, "world": 7, "txt": 7, "sleep": 7, "hello_again": 7, "done": 7, "date": 7, "being": 7, "made": 7, "preprocess": 7, "common": 7, "hello_world": 7, "sinc": 7, "treat": 7, "basi": 7, "similarli": 7, "pleas": 7, "chapter": 7, "neither": 7, "bash": [7, 8, 9], "care": 7, "csh": 7, "usr": 7, "bin": 7, "l": [7, 8, 9], "1d": 7, "make_input": [7, 8, 9], "enclos": [7, 8, 9], "dataset": [7, 8, 9], "By": [7, 8, 9], "subdirectori": 7, "0001": 7, "0020": 7, "copi": [7, 8], "cp": 7, "confirm": 7, "0002": 7, "0003": 7, "0004": 7, "0005": 7, "0006": 7, "0007": 7, "0008": 7, "0009": 7, "0010": 7, "0011": 7, "0012": 7, "0013": 7, "0014": 7, "0015": 7, "0016": 7, "0017": 7, "0018": 7, "0019": 7, "becaus": 7, "previou": [7, 9], "subsequ": 7, "task1": 7, "task2": 7, "task3": 7, "dataset_0001": 7, "dataset_0002": 7, "dataset_0003": 7, "dataset_0004": 7, "dataset_0005": 7, "dataset_0006": 7, "dataset_0007": 7, "dataset_0008": 7, "dataset_0009": 7, "dataset_0010": 7, "dataset_0011": 7, "dataset_0012": 7, "dataset_0013": 7, "dataset_0014": 7, "dataset_0015": 7, "dataset_0016": 7, "dataset_0017": 7, "dataset_0018": 7, "dataset_0019": 7, "dataset_0020": 7, "were": 7, "success": 7, "proceed": 7, "independ": 7, "resubmit": 7, "alreadi": [7, 8], "anyth": 7, "properli": 7, "open": [8, 9], "integr": 8, "mont": 8, "calro": 8, "quantum": [8, 9], "mani": [8, 9], "problem": [8, 9], "temperatur": 8, "magnet": 8, "suscept": 8, "chi": 8, "term": 8, "antiferromagnet": [8, 9], "heisenberg": [8, 9], "chain": [8, 9], "period": [8, 9], "boundari": [8, 9], "length": [8, 9], "t": 8, "sure": [8, 9], "exist": 8, "remov": 8, "like": 8, "l_8__m_1__t_1": 8, "store": [8, 9], "gather": [8, 9], "extract_result": 8, "write": [8, 9], "column": 8, "stderr": 8, "visual": [8, 9], "gnuplot": [8, 9], "plot_m1": 8, "plt": [8, 9], "plot_m2": 8, "persist": [8, 9], "afh": 8, "excit": [8, 9], "gap": [8, 9], "vanish": 8, "reflect": 8, "veri": 8, "low": 8, "region": 8, "finit": [8, 9], "size": [8, 9], "effect": [8, 9], "spin": [8, 9], "drop": 8, "exact": 9, "diagon": 9, "delta": 9, "2s_1": 9, "2s_2": 9, "l_8": 9, "l_10": 9, "l_24": 9, "l_18": 9, "addition": 9, "extract_gap": 9, "energi": 9, "pair": 9, "fit": 9, "curv": 9, "delta_": 9, "infti": 9, "exp": 9, "cl": 9, "plot": 9, "logarithm": 9, "correct": 9, "caus": 9, "extrapol": 9, "417": 9, "41048": 9, "6": 9, "qmc": 9, "todo": 9, "kato": 9, "prl": 9, "87": 9, "047203": 9, "2001": 9, "rerun": 10}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"moller": [0, 1, 2, 4, 6, 8, 9], "user": 0, "guid": [0, 2], "content": 0, "introduct": 1, "what": [1, 8, 9], "i": 1, "licens": 1, "contributor": 1, "copyright": 1, "oper": 1, "environ": 1, "extens": 2, "bulk": 2, "job": [2, 5, 7], "execut": 2, "how": [2, 8, 9], "work": 2, "structur": 2, "script": [2, 7], "brief": 2, "descript": [2, 5, 7], "function": 2, "extend": 2, "other": 2, "system": 2, "class": 2, "slurm": 2, "schedul": 2, "variant": 2, "pb": 2, "custom": 2, "featur": 2, "port": 2, "new": 2, "type": 2, "troubl": 2, "shoot": 2, "instal": 3, "basic": [3, 7], "usag": [3, 7], "command": 4, "refer": 4, "moller_statu": 4, "file": [5, 7], "format": 5, "gener": [5, 7], "set": 5, "platform": 5, "prologu": 5, "epilogu": 5, "list": [5, 7], "comprehens": 6, "calcul": [6, 8, 9], "util": 6, "prepar": [7, 8, 9], "batch": 7, "creat": 7, "run": [7, 8, 9], "check": 7, "statu": 7, "rerun": 7, "fail": 7, "task": 7, "exampl": [8, 9], "dsqss": 8, "": [8, 9], "thi": [8, 9], "sampl": [8, 9], "hphi": 9, "tutori": 10}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Moller Users Guide": [[0, "moller-users-guide"]], "Contents:": [[0, null]], "Introduction": [[1, "introduction"]], "What is moller?": [[1, "what-is-moller"]], "License": [[1, "license"]], "Contributors": [[1, "contributors"]], "Copyright": [[1, "copyright"]], "Operating environment": [[1, "operating-environment"]], "Extension guide": [[2, "extension-guide"]], "Bulk job execution by moller": [[2, "bulk-job-execution-by-moller"]], "How moller works": [[2, "how-moller-works"]], "Structure of moller script": [[2, "structure-of-moller-script"]], "Brief description of moller script functions": [[2, "brief-description-of-moller-script-functions"]], "How to extend moller for other systems": [[2, "how-to-extend-moller-for-other-systems"]], "Class structure": [[2, "class-structure"]], "SLURM job scheduler variants": [[2, "slurm-job-scheduler-variants"]], "PBS job scheduler variants": [[2, "pbs-job-scheduler-variants"]], "Customizing features": [[2, "customizing-features"]], "Porting to new type of job scheduler": [[2, "porting-to-new-type-of-job-scheduler"]], "Trouble shooting": [[2, "trouble-shooting"]], "Installation and basic usage": [[3, "installation-and-basic-usage"]], "Command reference": [[4, "command-reference"]], "moller": [[4, "moller"]], "moller_status": [[4, "moller-status"]], "File format": [[5, "file-format"]], "Job description file": [[5, "job-description-file"]], "General settings": [[5, "general-settings"]], "platform": [[5, "platform"]], "prologue, epilogue": [[5, "prologue-epilogue"]], "jobs": [[5, "jobs"]], "List file": [[5, "list-file"]], "Comprehensive Calculation Utility (moller)": [[6, "comprehensive-calculation-utility-moller"]], "Basic usage": [[7, "basic-usage"]], "Prepare job description file": [[7, "prepare-job-description-file"]], "Generate batch job script": [[7, "generate-batch-job-script"]], "Create list file": [[7, "create-list-file"]], "Run batch job": [[7, "run-batch-job"]], "Check status": [[7, "check-status"]], "Rerun failed tasks": [[7, "rerun-failed-tasks"]], "Example for moller calculation with DSQSS": [[8, "example-for-moller-calculation-with-dsqss"]], "What\u2019s this sample?": [[8, "whats-this-sample"], [9, "whats-this-sample"]], "Preparation": [[8, "preparation"], [9, "preparation"]], "How to run": [[8, "how-to-run"], [9, "how-to-run"]], "Example for moller calculation with HPhi": [[9, "example-for-moller-calculation-with-hphi"]], "Tutorial": [[10, "tutorial"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/manual/v1.0.0/en/moller-usersguide.pdf b/manual/v1.0.0/en/moller-usersguide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..00265e4ec26adea610206c0dd390a517ace87259 GIT binary patch literal 149195 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 literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/.buildinfo b/manual/v1.0.0/ja/html/.buildinfo new file mode 100644 index 0000000..301b0f7 --- /dev/null +++ b/manual/v1.0.0/ja/html/.buildinfo @@ -0,0 +1,4 @@ +# Sphinx build info version 1 +# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. +config: 6f62da9bc64b3eae3b24ac05fef20db8 +tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/manual/v1.0.0/ja/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png b/manual/v1.0.0/ja/html/_images/graphviz-06368183531b8fc81c8d91cef6b17e1dc3c86493.png new file mode 100644 index 0000000000000000000000000000000000000000..60ec48e98d66ded9d23fe995438b4c09b95f6ec1 GIT binary patch literal 11643 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 + diff --git a/manual/v1.0.0/ja/html/_images/task_view.png b/manual/v1.0.0/ja/html/_images/task_view.png new file mode 100644 index 0000000000000000000000000000000000000000..44d038ae5efd36416b0ef612b58a835935429143 GIT binary patch literal 132367 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

3pUM36#d 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

OP`N39IYrAZb69}zdnT)X!AU85fH1DD!7Zw*U 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 literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/_images/tutorial_dsqss_M2.png b/manual/v1.0.0/ja/html/_images/tutorial_dsqss_M2.png new file mode 100644 index 0000000000000000000000000000000000000000..95e2a6aa5c880fbcd3cf6271f2c8f96dc755b0ed GIT binary patch literal 53225 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 + + +mollerã®å‹•ä½œã«ã¤ã„㦠+---------------------------------------------------------------- + +mollerã§ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—トã®æ§‹æˆ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +mollerã¯ã€å…¥åŠ›ã•ã‚ŒãŸYAMLファイルã®å†…容をもã¨ã«ã€ãƒãƒ«ã‚¯å®Ÿè¡Œã®ãŸã‚ã®ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—ã¾ã™ã€‚生æˆã•ã‚Œã‚‹ã‚¸ãƒ§ãƒ–スクリプトã¯å…ˆé ­ã‹ã‚‰é †ã«æ¬¡ã®ã‚ˆã†ãªæ§‹æˆã«ãªã£ã¦ã„ã¾ã™ã€‚ + +#. ヘッダ + + ジョブスケジューラã¸ã®æŒ‡ç¤ºãŒè¨˜è¿°ã•ã‚Œã¾ã™ã€‚platform セクションã«æŒ‡å®šã—ãŸå†…容ãŒã€ã‚¸ãƒ§ãƒ–スケジューラã®ç¨®é¡žã«å¿œã˜ãŸå½¢å¼ã«æ•´å½¢ã•ã‚Œã¦å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ã“ã®å‡¦ç†ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚ + +#. プロローグ + + prologue セクションã«æŒ‡å®šã—ãŸå†…容ã§ã™ã€‚code ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚ + +#. 関数ã®å®šç¾© + + ジョブスクリプト内部ã§ä½¿ã†é–¢æ•°ãŠã‚ˆã³å¤‰æ•°ã®å®šç¾©ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚関数ã®æ¦‚è¦ã«ã¤ã„ã¦ã¯æ¬¡ç¯€ã§èª¬æ˜Žã—ã¾ã™ã€‚ã“ã®ç®‡æ‰€ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚ + +#. コマンドライン引数ã®å‡¦ç† + + SLURMç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®šã‚„タスクã®å†å®Ÿè¡Œãªã©ã®ã‚ªãƒ—ション指定を sbatch コマンドã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ + + PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯å¼•æ•°ã®æŒ‡å®šã¯ç„¡è¦–ã•ã‚Œã‚‹ãŸã‚ã€ã‚ªãƒ—ション指定ã¯ã‚¸ãƒ§ãƒ–スクリプトを編集ã—ã¦ãƒ‘ラメータをセットã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚リストファイルã®ãƒ•ã‚¡ã‚¤ãƒ«åã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ ``list.dat`` ã§ã™ã€‚ã¾ãŸã€ã‚¿ã‚¹ã‚¯ã®ãƒªãƒˆãƒ©ã‚¤ã‚’è¡Œã†ã«ã¯ ``retry`` 変数を ``1`` ã«ã‚»ãƒƒãƒˆã—ã¾ã™ã€‚ + +#. タスクã®è¨˜è¿° + + jobs セクションã«è¨˜è¿°ã•ã‚Œã‚‹ã‚¿ã‚¹ã‚¯ã®å†…容を出力ã—ã¾ã™ã€‚タスクãŒè¤‡æ•°ã‚ã‚‹å ´åˆã¯ã‚¿ã‚¹ã‚¯ã”ã¨ã«ä»¥ä¸‹ã®å‡¦ç†ã‚’実行ã—ã¾ã™ã€‚ + + parallel = false ã®å ´åˆã¯ run ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚ + + parallel = true (デフォルト) ã®å ´åˆã€task_タスクå ã¨ã„ã†é–¢æ•°ãŒç”Ÿæˆã•ã‚Œã€ä¸¦åˆ—実行ã®ãŸã‚ã®å‰å‡¦ç†ã¨ run ブロックã®å†…容ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚並列計算ã®ãŸã‚ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(``srun`` 〠``mpiexec`` ã¾ãŸã¯ ``mpirun``)ã¯ãƒ—ラットフォームã«å¿œã˜ãŸã‚³ãƒžãƒ³ãƒ‰ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚関数定義ã«ç¶šã„ã¦ä¸¦åˆ—実行ã®ã‚³ãƒžãƒ³ãƒ‰ãŒæ›¸ã出ã•ã‚Œã¾ã™ã€‚ + +#. エピローグ + + epilogue セクションã«æŒ‡å®šã—ãŸå†…容ã§ã™ã€‚code ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚ + + +moller scriptã®é–¢æ•°ã®æ¦‚è¦ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +moller script ã®å†…部ã§ä½¿ç”¨ã™ã‚‹ä¸»ãªé–¢æ•°ã®æ¦‚è¦ã‚’以下ã«èª¬æ˜Žã—ã¾ã™ã€‚ + +- ``run_parallel`` + + タスクã®å†…容を記述ã—ãŸé–¢æ•°(タスク関数)を並行実行ã™ã‚‹é–¢æ•°ã§ã™ã€‚並列度ã€ã‚¿ã‚¹ã‚¯é–¢æ•°ã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«åを引数ã«å–ã‚Šã¾ã™ã€‚内部ã§ã¯ ``_find_multiplicity`` 関数を呼んã§å¤šé‡åº¦ã‚’計算ã—ã€GNU parallel ã‚’èµ·å‹•ã—ã¦ã‚¿ã‚¹ã‚¯ã‚’並行実行ã—ã¾ã™ã€‚GNU parallel ã®å¤šæ®µå‡¦ç†ã«å¯¾å¿œã™ã‚‹ãŸã‚ã«ã€ã‚¿ã‚¹ã‚¯é–¢æ•°ã¯ ``_run_parallel_task`` 関数ã§ãƒ©ãƒƒãƒ—ã•ã‚Œã¾ã™ã€‚ + + プラットフォームä¾å­˜æ€§ã¯ ``_find_multiplicity`` ãŠã‚ˆã³ ``_setup_run_parallel`` 関数ã¨ã—ã¦ããり出ã—ã¦ã„ã¾ã™ã€‚ + +- ``_find_multiplicity`` + + 並列実行ã®å¤šé‡åº¦ã‚’ã€å‰²å½“ã¦ãƒªã‚½ãƒ¼ã‚¹(ノード数・コア数)ã¨ã‚¿ã‚¹ã‚¯ã®ä¸¦åˆ—度指定ã‹ã‚‰è¨ˆç®—ã—ã¾ã™ã€‚PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯ã€ã•ã‚‰ã«è¨ˆç®—ノード・コアをスロットã«åˆ†å‰²ã—ã€ãƒ†ãƒ¼ãƒ–ルã§ä¿æŒã—ã¾ã™ã€‚ + 実行時ã«ç’°å¢ƒã‹ã‚‰å–å¾—ã™ã‚‹æƒ…å ±ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚ + + - SLURMç³» + + 割当ã¦ãƒŽãƒ¼ãƒ‰æ•° _nnodes + ``SLURM_NNODES`` + + 割当ã¦ã‚³ã‚¢æ•° _ncores + ``SLURM_CPUS_ON_NODE`` + + - PBSç³» + + 割当ã¦ãƒŽãƒ¼ãƒ‰ _nodes[] + ``PBS_NODEFILE`` ã§æŒ‡å®šã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰è¨ˆç®—ノードã®ãƒªã‚¹ãƒˆã‚’å–å¾— + + ノード数 _nnodes + _nodes[] ã®é …目数 + + 割当ã¦ã‚³ã‚¢æ•° _ncores + 以下ã®é †ã«æ¤œç´¢ã•ã‚Œã¾ã™ã€‚ + - ``NCPUS`` (PBS Professional) + - ``OMP_NUM_THREADS`` + - platform セクション㮠core 指定(スクリプト中㫠moller_core変数ã¨ã—ã¦æ›¸ãè¾¼ã¾ã‚Œã‚‹) + - ヘッダ㮠ncpus ã¾ãŸã¯ ppn パラメータ + +- ``_setup_run_parallel`` + + GNU parallel ã«ã‚ˆã‚‹ä¸¦è¡Œå®Ÿè¡Œã‚’開始ã™ã‚‹å‰ã«ã„ãã¤ã‹å‡¦ç†ã‚’追加ã™ã‚‹ãŸã‚ã«å‘¼ã°ã‚Œã¾ã™ã€‚PBSç³»ã§ã¯ã‚¹ãƒ­ãƒƒãƒˆã«åˆ†å‰²ã•ã‚ŒãŸãƒŽãƒ¼ãƒ‰ãƒ»ã‚³ã‚¢ã®ãƒ†ãƒ¼ãƒ–ルをタスク関数ã‹ã‚‰å‚ç…§ã§ãるよㆠexport ã—ã¾ã™ã€‚SLURMç³»ã§ã¯å®Ÿè¡Œã™ã‚‹å†…容ã¯ã‚ã‚Šã¾ã›ã‚“。 + + +å„タスクã«å¯¾å¿œã™ã‚‹ã‚¿ã‚¹ã‚¯é–¢æ•°ã®æ§‹æˆã«ã¤ã„ã¦ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚ + +- タスク関数ã®å¼•æ•°ã¯ 1) 並列度指定(ノード数・プロセス数・スレッド数) 2) 実行ディレクトリ 3) GNU parallel ã®ã‚¹ãƒ­ãƒƒãƒˆID ã§ã™ã€‚ + +- ``_setup_taskenv`` ã§å®Ÿè¡Œç’°å¢ƒã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚ã“ã®é–¢æ•°ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚PBSç³»ã§ã¯ã‚¹ãƒ­ãƒƒãƒˆIDã«åŸºã¥ã„ã¦è¨ˆç®—ノード・コアをテーブルã‹ã‚‰å–å¾—ã—ã¾ã™ã€‚SLURMç³»ã§ã¯å®Ÿè¡Œã™ã‚‹å†…容ã¯ã‚ã‚Šã¾ã›ã‚“。 + +- ç›´å‰ã«å®Ÿè¡Œã™ã‚‹ã‚¿ã‚¹ã‚¯ãŒæ­£å¸¸çµ‚了ã—ãŸã‹ã©ã†ã‹ã‚’ ``_is_ready`` 関数を呼んã§ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚正常終了ã—ã¦ã„ã‚‹å ´åˆã¯ã‚¿ã‚¹ã‚¯ã®å‡¦ç†ã‚’継続ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ -1 ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã§ã‚¿ã‚¹ã‚¯ã®å‡¦ç†ã‚’中断ã—ã¾ã™ã€‚ + +- code ブロックã®å†…容を転記ã—ã¾ã™ã€‚ãã®éš›ã«ã€ä¸¦åˆ—計算ã®ãŸã‚ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(``srun`` 〠``mpiexec`` ã¾ãŸã¯ ``mpirun``)ã¯ãƒ—ラットフォームã«å¿œã˜ãŸã‚³ãƒžãƒ³ãƒ‰ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚ + + +mollerã‚’ä»–ã®ã‚·ã‚¹ãƒ†ãƒ ã§ä½¿ã†ã«ã¯ +---------------------------------------------------------------- + +mollerã«ã¯ç¾åœ¨ã€ç‰©æ€§ç ”スーパーコンピュータシステム ohtaka ãŠã‚ˆã³ kugui å‘ã‘ã®è¨­å®šãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚mollerã‚’ä»–ã®ã‚·ã‚¹ãƒ†ãƒ ã§ä½¿ã†ãŸã‚ã®æ‹¡å¼µã‚¬ã‚¤ãƒ‰ã‚’以下ã§èª¬æ˜Žã—ã¾ã™ã€‚ + + +ã‚¯ãƒ©ã‚¹æ§‹æˆ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +mollerã®æ§‹æˆã®ã†ã¡ãƒ—ラットフォームä¾å­˜ã®éƒ¨åˆ†ã¯ ``platform/`` ディレクトリã«ã¾ã¨ã‚ã¦ã„ã¾ã™ã€‚ +クラス構æˆã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚ + +.. graphviz:: + + digraph class_diagram { + size="5,5" + node[shape=record,style=filled,fillcolor=gray95] + edge[dir=back,arrowtail=empty] + + Platform[label="{Platform (base.py)}"] + BaseSlurm[label="{BaseSlurm (base_slurm.py)}"] + BasePBS[label="{BasePBS (base_pbs.py)}"] + BaseDefault[label="{BaseDefault (base_default.py)}"] + + Ohtaka[label="{Ohtaka (ohtaka.py)}"] + Kugui[label="{Kugui (kugui.py)}"] + Pbs[label="{Pbs (pbs.py)}"] + Default[label="{DefaultPlatform (default.py)}"] + + Platform->BaseSlurm + Platform->BasePBS + Platform->BaseDefault + + BaseSlurm->Ohtaka + BasePBS->Kugui + BasePBS->Pbs + BaseDefault->Default + } + +プラットフォームã®é¸æŠžã«ã¤ã„ã¦ã¯ãƒ•ã‚¡ã‚¯ãƒˆãƒªãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚``register_platform(登録å, クラスå)`` ã§ã‚¯ãƒ©ã‚¹ã‚’ファクトリã«ç™»éŒ²ã—〠``platform/__init__.py`` ã«ã‚¯ãƒ©ã‚¹ã‚’ import ã—ã¦ãŠãã¨ã€å…¥åŠ›ãƒ‘ラメータファイル中㧠platform セクション㮠system パラメータã«æŒ‡å®šã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚ + + +SLURM系ジョブスケジューラ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +SLURMç³»ã®ã‚¸ãƒ§ãƒ–スケジューラを利用ã—ã¦ã„ã‚‹å ´åˆã€BaseSlurm クラスを元ã«ã‚·ã‚¹ãƒ†ãƒ å›ºæœ‰ã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚ +並列計算を実行ã™ã‚‹ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’ç½®ãæ›ãˆã‚‹æ–‡å­—列㯠``parallel_command()`` メソッドã®æˆ»ã‚Šå€¤ã§ä¸Žãˆã¾ã™ã€‚リソースã®æŽ’他利用を行ã†ãŸã‚ã® srun ã®ãƒ‘ラメータをã“ã“ã«æŒ‡å®šã—ã¾ã™ã€‚ +具体例㯠ohtaka.py ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +PBS系ジョブスケジューラ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラ (PBS Professional, OpenPBS, Torque ãªã©)を利用ã—ã¦ã„ã‚‹å ´åˆã€BasePBS クラスを元ã«ã‚·ã‚¹ãƒ†ãƒ å›ºæœ‰ã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚ + +PBSç³»ã§ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ãƒŽãƒ¼ãƒ‰æ•°ã®æŒ‡å®šã®ä»•æ–¹ã«2通りã‚ã‚Šã€PBS Professional 㯠select=N:ncpus=n ã¨ã„ã†æ›¸å¼ã§æŒ‡å®šã—ã¾ã™ãŒã€Torque ãªã©ã¯ node=N:ppn=n ã¨è¨˜è¿°ã—ã¾ã™ã€‚後者ã®æŒ‡å®šã‚’用ã„ã‚‹å ´åˆã¯ ``self.pbs_use_old_format = True`` をセットã—ã¾ã™ã€‚ + +計算ノードã®ã‚³ã‚¢æ•°ã¯ node パラメータã§æŒ‡å®šã§ãã¾ã™ãŒã€å¯¾è±¡ã‚·ã‚¹ãƒ†ãƒ ã‚’é™å®šã—ã¦ã‚³ã‚¢æ•°ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’設定ã—ã¦ãŠãã“ã¨ã‚‚ã§ãã¾ã™ã€‚kugui.py ã§ã¯ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Š128コアを設定ã—ã¦ã„ã¾ã™ã€‚ + +ç´°ã‹ã„カスタマイズãŒå¿…è¦ãªå ´åˆ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +基底クラスをå‚ç…§ã—ã¦å¿…è¦ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’å†å®šç¾©ã—ã¾ã™ã€‚メソッド構æˆã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚ + +- ``setup`` + + platform セクションã®ãƒ‘ラメータã®å–り出ã—ãªã©ã‚’è¡Œã„ã¾ã™ã€‚ + +- ``parallel_command`` + + 並列計算ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ (``srun``, ``mpiexec``, ``mpirun``) ã‚’ç½®ãæ›ãˆã‚‹æ–‡å­—列を返ã—ã¾ã™ã€‚ + +- ``generate_header`` + + ジョブスケジューラオプションã®æŒ‡å®šã‚’記述ã—ãŸãƒ˜ãƒƒãƒ€ã‚’生æˆã—ã¾ã™ã€‚ + +- ``generate_function`` + + moller script 内部ã§ä½¿ç”¨ã™ã‚‹é–¢æ•°ã®å®šç¾©ã‚’生æˆã—ã¾ã™ã€‚変数ãŠã‚ˆã³é–¢æ•°ã®å®Ÿä½“ã¯ãã‚Œãžã‚Œä»¥ä¸‹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ä½œã‚‰ã‚Œã¾ã™ã€‚ + + - ``generate_variable`` + - ``generate_function_body`` + + ãã‚Œãžã‚Œã®é–¢æ•°ã¯åŸ‹ã‚è¾¼ã¿æ–‡å­—列ã¨ã—ã¦ã‚¯ãƒ©ã‚¹å†…ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚ + +æ–°ã—ã„タイプã®ã‚¸ãƒ§ãƒ–スケジューラã«å¯¾å¿œã•ã›ã‚‹ã«ã¯ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +moller scriptã®å‹•ä½œã®ã†ã¡ãƒ—ラットフォームä¾å­˜ãªç®‡æ‰€ã¯ã€ä¸¦è¡Œå®Ÿè¡Œã®å¤šé‡åº¦ã®è¨ˆç®—ã€ãƒªã‚½ãƒ¼ã‚¹é…ç½®ã«é–¢ã™ã‚‹éƒ¨åˆ†ã€ä¸¦åˆ—計算ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã™ã€‚ + +- 割当ã¦ãƒŽãƒ¼ãƒ‰ãƒ»ãƒŽãƒ¼ãƒ‰æ•°ãƒ»ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ã‚’実行時ã«ç’°å¢ƒå¤‰æ•°ç­‰ã‹ã‚‰å–å¾—ã™ã‚‹æ–¹æ³• + +- 並列計算を実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ (mpiexecç­‰) ã¨ã€å®Ÿè¡Œãƒ›ã‚¹ãƒˆã‚„コア割当ã®æŒ‡å®šã®ã—ã‹ãŸ + +ã“れらをもã¨ã«moller script内ã§ä½¿ã†é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚ +``printenv`` コマンドã§ã‚¸ãƒ§ãƒ–スクリプト内ã§æœ‰åŠ¹ãªç’°å¢ƒå¤‰æ•°ã®ä¸€è¦§ã‚’å–å¾—ã§ãã¾ã™ã€‚ + + +トラブルシューティング +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +moller script内㮠``_debug`` 変数を 1 ã«ã‚»ãƒƒãƒˆã™ã‚‹ã¨ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–実行時ã«ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ãŒæ›¸ã出ã•ã‚Œã¾ã™ã€‚ã‚‚ã—ジョブãŒã†ã¾ã実行ã•ã‚Œãªã„ã¨ãã¯ã€ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’有効ã«ã—ã¦ã€å†…部パラメータãŒæ­£ã—ãセットã•ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã—ã¦ã¿ã¦ãã ã•ã„。 + diff --git a/manual/v1.0.0/ja/html/_sources/moller/basic-usage.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/basic-usage.rst.txt new file mode 100644 index 0000000..5407f61 --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/basic-usage.rst.txt @@ -0,0 +1,154 @@ +インストールã¨åŸºæœ¬çš„ãªä½¿ã„æ–¹ +================================================================ + +**å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリ・環境** + + HTP-tools ã«å«ã¾ã‚Œã‚‹ç¶²ç¾…計算ツール moller を利用ã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®ãƒ—ログラムã¨ãƒ©ã‚¤ãƒ–ラリãŒå¿…è¦ã§ã™ã€‚ + + - Python 3.x + - ruamel.yaml モジュール + - tabulate モジュール + - GNU Parallel (ジョブスクリプトを実行ã™ã‚‹ã‚µãƒ¼ãƒãƒ»è¨ˆç®—ノード上ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨) + +**ソースコードé…布サイト** + + - `GitHubリãƒã‚¸ãƒˆãƒª `_ + +**ダウンロード方法** + + gitを利用ã§ãã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§mollerをダウンロードã§ãã¾ã™ã€‚ + + .. code-block:: bash + + $ git clone https://github.com/issp-center-dev/Moller.git + +**インストール方法** + + mollerをダウンロード後ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã€‚mollerãŒåˆ©ç”¨ã™ã‚‹ãƒ©ã‚¤ãƒ–ラリも必è¦ã«å¿œã˜ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™ã€‚ + + .. code-block:: bash + + $ cd ./Moller + $ python3 -m pip install . + + 実行プログラム ``moller`` ãŠã‚ˆã³ ``moller_status`` ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™ã€‚ + +**ディレクトリ構æˆ** + + :: + + . + |-- LICENSE + |-- README.md + |-- pyproject.toml + |-- docs/ + | |-- ja/ + | |-- en/ + | |-- tutorial/ + |-- src/ + | |-- moller/ + | |-- __init__.py + | |-- main.py + | |-- platform/ + | | |-- __init__.py + | | |-- base.py + | | |-- base_slurm.py + | | |-- base_pbs.py + | | |-- base_default.py + | | |-- ohtaka.py + | | |-- kugui.py + | | |-- pbs.py + | | |-- default.py + | | |-- function.py + | | |-- utils.py + | |-- moller_status.py + |-- sample/ + +**基本的ãªä½¿ç”¨æ–¹æ³•** + +mollerã¯ã‚¹ãƒ¼ãƒ‘ーコンピュータå‘ã‘ã«ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ãƒ„ールã§ã™ã€‚多é‡å®Ÿè¡Œã®æ©Ÿèƒ½ã‚’利用ã—ã¦ã€ãƒ‘ラメータ並列ãªã©ä¸€é€£ã®è¨ˆç®—æ¡ä»¶ã«ã¤ã„ã¦ä¸¦åˆ—ã«ãƒ—ログラムを実行ã—ã¾ã™ã€‚ + +#. 構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½œæˆ + + mollerを使用ã™ã‚‹ã«ã¯ã€ã¾ãšã€è¨ˆç®—内容を記述ã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’YAMLå½¢å¼ã§ä½œæˆã—ã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + +#. コマンドã®å®Ÿè¡Œ + + 作æˆã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’入力ã¨ã—ã¦mollerプログラムを実行ã—ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ + + .. code-block:: bash + + $ moller -o job.sh input.yaml + +#. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œ + + 生æˆã•ã‚ŒãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã¨ãªã‚‹ã‚¹ãƒ¼ãƒ‘ーコンピュータシステムã«è»¢é€ã—ã¾ã™ã€‚ + 並列実行ã™ã‚‹å„パラメータã”ã¨ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—〠``list.dat`` ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåを列挙ã—ã¾ã™ã€‚ + ``list.dat`` ã«ã¯ã€ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¾ãŸã¯çµ¶å¯¾ãƒ‘スを記述ã—ã¾ã™ã€‚ + + リストファイルãŒç”¨æ„ã§ããŸã‚‰ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ + 以下ã§ã¯ã€ç‰©æ€§ç ”システムB(ohtaka)ãŠã‚ˆã³ã‚·ã‚¹ãƒ†ãƒ C(kugui)ã§å®Ÿè¡Œã™ã‚‹ã‚±ãƒ¼ã‚¹ã‚’ãã‚Œãžã‚Œç¤ºã—ã¾ã™ã€‚ + + - 物性研システムB(ohtaka)ã®å ´åˆ + + ohtaka ã§ã¯ slurm ジョブスケジューラãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを引数ã¨ã—㦠sbatch コマンドを実行ã—ã¾ã™ã€‚ジョブスクリプトåã«ç¶šã‘ã¦ã‚¹ã‚¯ãƒªãƒ—トã®ãƒ‘ラメータを渡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚パラメータã¨ã—ã¦ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚ + + .. code-block:: bash + + $ sbatch job.sh list.dat + + リストファイルã®æŒ‡å®šãŒãªã„å ´åˆã¯ list.dat ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¨ã—ã¦ä½¿ã‚ã‚Œã¾ã™ã€‚ + + + - 物性研システムC(kugui)ã®å ´åˆ + + kugui ã§ã¯ PBS ジョブスケジューラãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを引数ã¨ã—㦠qsub コマンドを実行ã—ã¾ã™ã€‚スクリプトã®ãƒ‘ラメータã®æŒ‡å®šã¯ã§ããªã„ã®ã§ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¯ list.dat ã¨ã—ã¦ç”¨æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ + + .. code-block:: bash + + $ qsub job.sh + +#. çµæžœã®ç¢ºèª + + ãƒãƒƒãƒã‚¸ãƒ§ãƒ–終了後ã«ã€ + + .. code-block:: bash + + $ moller_status input.yaml list.dat + + を実行ã™ã‚‹ã¨ã€å„パラメータセットã«ã¤ã„ã¦è¨ˆç®—ãŒæ­£å¸¸ã«çµ‚了ã—ãŸã‹ã©ã†ã‹ã‚’集計ã—ãŸãƒ¬ãƒãƒ¼ãƒˆãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + + +#. ジョブã®å†é–‹ãƒ»å†å®Ÿè¡Œ + + ジョブãŒé€”中ã§çµ‚ã‚ã£ãŸå ´åˆã€ç¶šã‘ã¦å®Ÿè¡Œã™ã‚‹ã«ã¯ã€åŒã˜ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¦ã‚‚ã†ä¸€åº¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ + 未実行(未完了をå«ã‚€)ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰å®Ÿè¡ŒãŒç¶™ç¶šã•ã‚Œã¾ã™ã€‚ + + - 物性研システムB(ohtaka)ã®å ´åˆ + + 以下ã®ã‚ˆã†ã«ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—㦠sbatch コマンドを実行ã—ã¾ã™ã€‚ + + .. code-block:: bash + + $ sbatch job.sh list.dat + + エラーã§çµ‚了ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹ã«ã¯ã€--retry オプションを付ã‘ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ + + .. code-block:: bash + + $ sbatch job.sh --retry list.dat + + - 物性研システムC(kugui)ã®å ´åˆ + + job.sh を編集ã—㦠retry=0 ã®è¡Œã‚’ retry=1 ã«æ›¸ãæ›ãˆãŸå¾Œã€ + + .. code-block:: bash + + $ qsub job.sh + + を実行ã—ã¾ã™ã€‚ + + +**å‚考文献** + +[1] `O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47. `_ diff --git a/manual/v1.0.0/ja/html/_sources/moller/command/index.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/command/index.rst.txt new file mode 100644 index 0000000..87cc10b --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/command/index.rst.txt @@ -0,0 +1,96 @@ +コマンドリファレンス +================================================================ + +moller +---------------------------------------------------------------- + + 網羅計算ã®ãŸã‚ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ + +書å¼: + + .. code-block:: bash + + moller [-o job_script] input_yaml + +説明: + + input_yaml ã«æŒ‡å®šã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã¿ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã—ã¾ã™ã€‚ + 以下ã®ã‚ªãƒ—ションをå—ã‘付ã‘ã¾ã™ã€‚ + + - -o, --output job_script + + 出力先ã®ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«å†…ã® output_file パラメータより優先ã•ã‚Œã¾ã™ã€‚ファイルåã®æŒ‡å®šãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚ + + - -h + + ヘルプを表示ã—ã¾ã™ã€‚ + +moller_status +---------------------------------------------------------------- + + 網羅計算ジョブã®å®Ÿè¡ŒçŠ¶æ³ã‚’レãƒãƒ¼ãƒˆã™ã‚‹ + +書å¼: + + .. code-block:: bash + + moller_status [-h] [--text|--csv|--html] [--ok|--failed|--skipped|--collapsed|--yet] [-o output_file] input_yaml [list_file] + +説明: + + mollerã§ç”Ÿæˆã—ãŸã‚¸ãƒ§ãƒ–スクリプトを実行ã—ãŸéš›ã«ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã®å„タスクãŒå®Œäº†ã—ãŸã‹ã©ã†ã‹ã‚’集計ã—ã¦ãƒ¬ãƒãƒ¼ãƒˆã‚’作æˆã—ã¾ã™ã€‚input_yaml ã«æŒ‡å®šã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ã‚¿ã‚¹ã‚¯ã®å†…容を読ã¿è¾¼ã¿ã¾ã™ã€‚ジョブã®ãƒªã‚¹ãƒˆã¯ list_file ã«æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰å–å¾—ã—ã¾ã™ã€‚list_file ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€å®Ÿè¡Œæ™‚ログファイルã‹ã‚‰åŽé›†ã—ã¾ã™ã€‚ + 出力形å¼ã‚’オプションã§æŒ‡å®šã§ãã¾ã™ã€‚デフォルトã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã™ã€‚出力先を -o ã¾ãŸã¯ --output オプションã§æŒ‡å®šã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚ + + - 出力モード + + 出力形å¼ã‚’指定ã—ã¾ã™ã€‚以下ã®ã„ãšã‚Œã‹ã‚’指定ã§ãã¾ã™ã€‚複数åŒæ™‚ã«æŒ‡å®šã—ãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚デフォルトã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã™ã€‚ + + - --text + テキスト形å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚ + - --csv + CSV (カンマ区切りテキスト) å½¢å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚ + - --html + HTMLå½¢å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚ + + - input_yaml + + mollerã®æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚ + + - list_file + + ジョブã®ãƒªã‚¹ãƒˆã‚’æ ¼ç´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‹ã‚‰å‡ºåŠ›ã•ã‚Œã‚‹ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« stat_{task}.dat ã‹ã‚‰åŽé›†ã—ã¾ã™ã€‚ + + - -o, --output output_file + + 出力先ã®ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚ + + - フィルタ + + 出力内容を指定ã—ã¾ã™ã€‚以下ã®ã„ãšã‚Œã‹ã‚’指定ã§ãã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯å…¨ã¦ã®ã‚¸ãƒ§ãƒ–ã®æƒ…å ±ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + + - --ok + å…¨ã¦ã®ã‚¿ã‚¹ã‚¯ãŒå®Œäº†ã—ãŸã‚¸ãƒ§ãƒ–ã®ã¿ã‚’表示ã—ã¾ã™ã€‚ + + - --failed + エラーã€ã‚¹ã‚­ãƒƒãƒ—ã¾ãŸã¯æœªå®Ÿè¡Œã®ã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚ + + - --skipped + 実行をスキップã—ãŸã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚ + + - --yet + 未実行ã®ã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚ + + - --collapsed + エラー終了ã—ãŸã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚ + + - --all + å…¨ã¦ã®ã‚¸ãƒ§ãƒ–を表示ã—ã¾ã™ã€‚(デフォルト) + + - -h + + ヘルプを表示ã—ã¾ã™ã€‚ + +ファイル: + + mollerã§ç”Ÿæˆã—ãŸã‚¸ãƒ§ãƒ–スクリプトを用ã„ã¦ãƒ—ログラムを並列実行ã™ã‚‹ã¨ã€å®Ÿè¡ŒçŠ¶æ³ãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« stat_{task}.dat ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚moller_status ã¯ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’集計ã—ã€èª­ã¿ã‚„ã™ã„å½¢å¼ã«æ•´å½¢ã—ã¾ã™ã€‚ + diff --git a/manual/v1.0.0/ja/html/_sources/moller/filespec/index.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/filespec/index.rst.txt new file mode 100644 index 0000000..0043c6d --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/filespec/index.rst.txt @@ -0,0 +1,133 @@ +.. _sec-fileformat: + +ファイルフォーマット +================================================================ + +構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ« +---------------------------------------------------------------- + +構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã€moller ã§ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ãŸã‚ã®è¨­å®šæƒ…報を YAMLå½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚本ファイルã¯ä»¥ä¸‹ã®éƒ¨åˆ†ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™ã€‚ + + 1. 全般的ãªè¨˜è¿°: ジョブåや出力ファイルåãªã©ã‚’設定ã—ã¾ã™ã€‚ + + 2. platformセクション: ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚„ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã«é–¢ã™ã‚‹è¨­å®šã‚’記述ã—ã¾ã™ã€‚ + + 3. prologue, epilogue セクション: ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内ã§è¡Œã†ç’°å¢ƒè¨­å®šã‚„終了処ç†ãªã©ã‚’記述ã—ã¾ã™ã€‚ + + 4. jobsセクション: タスクを記述ã—ã¾ã™ã€‚ + +全体 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + ``name`` + + ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ã‚¸ãƒ§ãƒ–åを指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯ç©ºæ¬„ã¨ãªã‚Šã¾ã™ã€‚(通常ã¯ã‚¸ãƒ§ãƒ–スクリプトã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚¸ãƒ§ãƒ–åã«ãªã‚Šã¾ã™) + + ``description`` + + ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®èª¬æ˜Žã‚’記述ã—ã¾ã™ã€‚コメントã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ + + ``output_file`` + + moller ã®å‡ºåŠ›å…ˆãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚コマンドライン引数ã®æŒ‡å®šãŒã‚ã‚‹å ´åˆã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®æŒ‡å®šã‚’優先ã—ã¾ã™ã€‚ã„ãšã‚Œã‚‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ + +platform +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ``system`` + + 対象ã¨ãªã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚’指定ã—ã¾ã™ã€‚ç¾çŠ¶ã§ã¯ ohtaka 㨠kugui ãŒæŒ‡å®šã§ãã¾ã™ã€‚ + + ``queue`` + + 使用ã™ã‚‹ãƒãƒƒãƒã‚­ãƒ¥ãƒ¼ã®å称を指定ã—ã¾ã™ã€‚キューã®å称ã¯ã‚·ã‚¹ãƒ†ãƒ ã«ä¾å­˜ã—ã¾ã™ã€‚ + + ``node`` + + 使用ã™ã‚‹ãƒŽãƒ¼ãƒ‰æ•°ã‚’指定ã—ã¾ã™ã€‚指定方法㯠ノード数(整数値) ã¾ãŸã¯ [ノード数, ノードã‚ãŸã‚Šã®ã‚³ã‚¢æ•°] (整数値ã®ãƒªã‚¹ãƒˆ) ã§ã™ã€‚数値ã®ç¯„囲ã¯ã‚·ã‚¹ãƒ†ãƒ ã¨ã‚­ãƒ¥ãƒ¼ã®æŒ‡å®šã«ä¾å­˜ã—ã¾ã™ã€‚(ノードã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ã®æŒ‡å®šã¯kugui,defaultã®ã¿æœ‰åŠ¹ã€‚ohtakaã®å ´åˆã¯ä½¿ã‚ã‚Œã¾ã›ã‚“。) + + ``core`` + + 1ノードã‚ãŸã‚Šä½¿ç”¨ã™ã‚‹ã‚³ã‚¢æ•°ã‚’指定ã—ã¾ã™ã€‚数値ã®ç¯„囲ã¯ã‚·ã‚¹ãƒ†ãƒ ã¨ã‚­ãƒ¥ãƒ¼ã®æŒ‡å®šã«ä¾å­˜ã—ã¾ã™ã€‚ ``node`` パラメータã«åŒæ™‚ã«ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ ``core`` ã®æŒ‡å®šãŒå„ªå…ˆã—ã¾ã™ã€‚(kugui,defaultã®ã¿) + + ``elapsed`` + + ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œæ™‚間を指定ã—ã¾ã™ã€‚書å¼ã¯ HH:MM:SS ã§ã™ã€‚ + + ``options`` + + ãã®ä»–ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–オプションを指定ã—ã¾ã™ã€‚書å¼ã¯ã€ã‚¸ãƒ§ãƒ–スクリプトã®ã‚ªãƒ—ション行ã®å†…容をリスト形å¼ã¾ãŸã¯è¤‡æ•°è¡Œã‹ã‚‰ãªã‚‹æ–‡å­—列ã§è¨˜è¿°ã—ãŸã‚‚ã®ã§ã™ã€‚å„è¡Œã®å†’é ­ã®æŒ‡ç¤ºèªž(``#PBS`` ã‚„ ``#SBATCH`` ãªã©)ã¯å«ã‚ã¾ã›ã‚“。以下ã«ä¾‹ã‚’示ã—ã¾ã™ã€‚ + + - SLURMã®å ´åˆ (文字列ã§æŒ‡å®šã™ã‚‹ä¾‹) + + .. code-block:: yaml + + options: | + --mail-type=BEGIN,END,FAIL + --mail-user=user@sample.com + --requeue + + - PBSã®å ´åˆ (リストã§æŒ‡å®šã™ã‚‹ä¾‹) + + .. code-block:: yaml + + options: + - -m bea + - -M user@sample.com + - -r y + + +prologue, epilogue +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +prologueセクションã¯ã‚¿ã‚¹ã‚¯é–‹å§‹å‰ã«å®Ÿè¡Œã™ã‚‹å†…容を記述ã—ã¾ã™ã€‚ライブラリやパスãªã©ç’°å¢ƒå¤‰æ•°ã®è¨­å®šç­‰ã‚’è¡Œã†ã®ã«åˆ©ç”¨ã§ãã¾ã™ã€‚epilogueセクションã¯å…¨ã‚¿ã‚¹ã‚¯çµ‚了後ã«å®Ÿè¡Œã™ã‚‹å†…容を記述ã—ã¾ã™ã€‚ + + ``code`` + + 処ç†å†…容をシェルスクリプトã®è¨˜æ³•ã§è¨˜è¿°ã—ã¾ã™ã€‚記述内容ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト中ã«åŸ‹ã‚è¾¼ã¾ã‚Œã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内ã§å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + +jobs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ジョブã§å®Ÿè¡Œã™ã‚‹ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‚’ã€ã‚¿ã‚¹ã‚¯åをキーã€å‡¦ç†å†…容を値ã¨ã—ã¦è¨˜è¿°ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルã®å½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚ + + キー + + タスクå + + 値 + + 以下ã®é …ç›®ã‹ã‚‰ãªã‚‹ãƒ†ãƒ¼ãƒ–ル: + + ``description`` + + タスクã®èª¬æ˜Žã‚’記述ã—ã¾ã™ã€‚コメントã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ + + ``node`` + + 並列度を指定ã—ã¾ã™ã€‚指定方法ã¯ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã§ã™ã€‚ + + - [ プロセス数, プロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•° ] + - [ ノード数, プロセス数, プロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•° ] + - ノード数 + + ノード数を指定ã—ãŸå ´åˆã€ãã®æ•°ã®ãƒŽãƒ¼ãƒ‰ãŒæŽ’ä»–çš„ã«ã‚¸ãƒ§ãƒ–ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ノード数を指定ã—ãªã„1番目ã®å½¢å¼ã®å ´åˆã€ä½¿ç”¨ã‚³ã‚¢æ•°ãŒ1ノードã«æº€ãŸãªã„ã¨ãã¯è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–ãŒãƒŽãƒ¼ãƒ‰ã«è©°ã‚ã¦å‰²å½“られã¾ã™ã€‚1ノード以上を使ã†å ´åˆã¯å¿…è¦ãƒŽãƒ¼ãƒ‰æ•°ã‚’å æœ‰ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + + ``parallel`` + + ジョブ間ã§å¤šé‡å®Ÿè¡Œã™ã‚‹å ´åˆã¯ ``true``, é€æ¬¡å®Ÿè¡Œã™ã‚‹å ´åˆã¯ ``false`` を指定ã—ã¾ã™ã€‚デフォルト㯠``true`` ã§ã™ã€‚ + + ``run`` + + タスクã®å‡¦ç†å†…容をシェルスクリプトã®è¨˜æ³•ã§è¨˜è¿°ã—ã¾ã™ã€‚MPIプログラムã¾ãŸã¯ MPI/OpenMP ãƒã‚¤ãƒ–リッドプログラムを実行ã™ã‚‹ç®‡æ‰€ã¯ + + .. code-block:: bash + + srun prog [arg1, ...] + + ã¨è¨˜è¿°ã—ã¾ã™ã€‚ ``srun`` ã®ä»–ã« ``mpirun``, ``mpiexec`` ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãŒæœ‰åŠ¹ã§ã™ã€‚ã“ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯ã€å®Ÿéš›ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト中ã§ã¯ã€ä¸¦åˆ—実行ã®ãŸã‚ã®ã‚³ãƒžãƒ³ãƒ‰ (``srun`` ã‚„ ``mpirun``) 㨠``node`` パラメータã§æŒ‡å®šã—ãŸä¸¦åˆ—度ã®è¨­å®šã«ç½®ãæ›ãˆã¦è¨˜è¿°ã•ã‚Œã¾ã™ã€‚ + +リストファイル +---------------------------------------------------------------- + +ジョブã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚ファイルã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã€ä¸€è¡Œã«ä¸€ã¤ã®ã‚¸ãƒ§ãƒ–åを記述ã—ã¾ã™(ディレクトリåãŒã‚¸ãƒ§ãƒ–åã¨ãªã‚Šã¾ã™)。 + +mollerã§ã¯ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ã€ã‚¸ãƒ§ãƒ–内ã®å„タスクã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ディレクトリã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç›´ä¸‹ã«é…ç½®ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¨ä»®å®šã—ã¾ã™ã€‚ + diff --git a/manual/v1.0.0/ja/html/_sources/moller/index.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/index.rst.txt new file mode 100644 index 0000000..35373a4 --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/index.rst.txt @@ -0,0 +1,15 @@ +**************************************************************** +網羅計算ツール (moller) +**************************************************************** + + +.. toctree:: + :maxdepth: 2 + :numbered: 2 + + about/index + basic-usage + tutorial/index + command/index + filespec/index + appendix/index diff --git a/manual/v1.0.0/ja/html/_sources/moller/tutorial/basic.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/tutorial/basic.rst.txt new file mode 100644 index 0000000..093dc68 --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/tutorial/basic.rst.txt @@ -0,0 +1,141 @@ +.. _sec-tutorial: + +基本的ãªä½¿ã„æ–¹ +--------------- + +網羅計算ã®ãŸã‚ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト生æˆãƒ„ール moller を使ã†ã«ã¯ã€å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦å®Ÿè¡Œå†…容を記述ã™ã‚‹æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’用æ„ã—ãŸå¾Œã€ãƒ—ログラム moller を実行ã—ã¾ã™ã€‚生æˆã•ã‚ŒãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã¨ã™ã‚‹ã‚¹ãƒ¼ãƒ‘ーコンピュータシステムã«è»¢é€ã—ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¦è¨ˆç®—ã‚’è¡Œã„ã¾ã™ã€‚ +以下ã§ã¯ã€ ``docs/tutorial/moller`` ディレクトリã«ã‚るサンプルを例ã«ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’実施ã—ã¾ã™ã€‚ + +構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã§å®Ÿè¡Œã™ã‚‹å‡¦ç†ã®å†…容を記述ã—ã¾ã™ã€‚ +ã“ã“ã§ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã¨ã¯ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム等ã®ã‚¸ãƒ§ãƒ–スケジューラã«æŠ•å…¥ã™ã‚‹å®Ÿè¡Œå†…容を指ã—ã¾ã™ã€‚ãã‚Œã«å¯¾ã—ã€moller ãŒå¯¾è±¡ã¨ã™ã‚‹ãƒ—ログラムã®å¤šé‡å®Ÿè¡Œã«ãŠã„ã¦ã€å¤šé‡å®Ÿè¡Œã•ã‚Œã‚‹ä¸€ã¤ã®ãƒ‘ラメータセットã§ã®å®Ÿè¡Œå†…容をジョブã¨å‘¼ã¶ã“ã¨ã«ã—ã¾ã™ã€‚一ã¤ã®ã‚¸ãƒ§ãƒ–ã¯ã„ãã¤ã‹ã®å‡¦ç†å˜ä½ã‹ã‚‰ãªã‚Šã€ãã®å‡¦ç†å˜ä½ã‚’タスクã¨å‘¼ã³ã¾ã™ã€‚moller ã§ã¯ã‚¿ã‚¹ã‚¯ã”ã¨ã«å¤šé‡å®Ÿè¡Œã—ã€ã‚¿ã‚¹ã‚¯ã®å‰å¾Œã§åŒæœŸãŒã¨ã‚‰ã‚Œã¾ã™ã€‚ + +.. only:: html + + .. figure:: ../../_static/task_view.png + :alt: タスクã¨ã‚¸ãƒ§ãƒ– + + 例: 一ã¤ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内㧠job #1〜#3 ã® 3ã¤ã®ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã€‚ジョブã¯ãã‚Œãžã‚Œç•°ãªã‚‹ãƒ‘ラメータセットãªã©ã«å¯¾å¿œã™ã‚‹ã€‚ジョブã®å®Ÿè¡Œå†…容㯠task 1〜4 ã®ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰ãªã‚‹ã€‚タスクã”ã¨ã« job #1〜#3 ã®å‡¦ç†ã‚’並列ã«è¡Œã†ã€‚ + +.. only:: latex + + .. figure:: ../../_static/task_view.pdf + :scale: 100% + :alt: タスクã¨ã‚¸ãƒ§ãƒ– + + 例: 一ã¤ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内㧠job #1〜#3 ã® 3ã¤ã®ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã€‚ジョブã¯ãã‚Œãžã‚Œç•°ãªã‚‹ãƒ‘ラメータセットãªã©ã«å¯¾å¿œã™ã‚‹ã€‚ジョブã®å®Ÿè¡Œå†…容㯠task 1〜4 ã®ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰ãªã‚‹ã€‚タスクã”ã¨ã« job #1〜#3 ã®å‡¦ç†ã‚’並列ã«è¡Œã†ã€‚ + +以下ã«æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µãƒ³ãƒ—ルを記載ã—ã¾ã™ã€‚構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯ YAMLフォーマットã®ãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã§ã€å®Ÿè¡Œã™ã‚‹ãƒ—ラットフォームやãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ãƒ‘ラメータã¨ã€ã‚¿ã‚¹ã‚¯ã®å‡¦ç†å†…容ã€å‰å‡¦ç†ãƒ»å¾Œå‡¦ç†ã‚’記述ã—ã¾ã™ã€‚ + +.. literalinclude:: ../../../../tutorial/moller/input.yaml + +platformセクションã§ã¯ã€å®Ÿè¡Œã™ã‚‹ãƒ—ラットフォームã®ç¨®é¡žã‚’指定ã—ã¾ã™ã€‚ã“ã®å ´åˆã¯ã€ç‰©æ€§ç ”システムB(ohtaka)ã§ã®è¨­å®šã‚’ã—ã¦ã„ã¾ã™ã€‚ + +prologueセクションã§ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å‰å‡¦ç†ã‚’記述ã—ã¾ã™ã€‚タスクを実行ã™ã‚‹å‰ã«å®Ÿè¡Œã™ã‚‹å…±é€šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’記述ã—ã¾ã™ã€‚ + +jobsセクションã§ã¯ã€ã‚¿ã‚¹ã‚¯ã®å‡¦ç†å†…容を記述ã—ã¾ã™ã€‚ジョブã§å®Ÿè¡Œã™ã‚‹ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‚’ã€ã‚¿ã‚¹ã‚¯åをキーã€å‡¦ç†å†…容を値ã¨ã—ã¦è¨˜è¿°ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルã®å½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚ + +ã“ã®ä¾‹ã§ã¯ã€æœ€åˆã«"start..."を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ start ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ +ã“ã“ã§ã¯ ``parallel = false`` ã«è¨­å®šã—ã¦ã„ã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¸ãƒ§ãƒ–å˜ä½ã§ã®ä¸¦åˆ—ã¯è¡Œã‚ã‚Œãšã€``run`` ã«è¨˜è¿°ã—ãŸå†…容ãŒé€æ¬¡çš„ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + +次ã«ã€"hello world."を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ hello world ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ +ã“ã“ã§ã¯ ``parallel`` ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„ã®ã§ã€ ``paralle = true`` ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¸ãƒ§ãƒ–å˜ä½ã§ã®ä¸¦åˆ—ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ +åŒæ§˜ã«ã€æ¬¡ã« "hello world again." を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ hello_again ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ + +最後ã«ã€epilogueセクションã§ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å¾Œå‡¦ç†ã‚’記述ã—ã¾ã™ã€‚タスクを実行ã—ãŸå¾Œã«å®Ÿè¡Œã™ã‚‹å…±é€šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’記述ã—ã¾ã™ã€‚ + +仕様ã®è©³ç´°ã«ã¤ã„ã¦ã¯ :ref:`ファイルフォーマット ` ã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + + +ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«(input.yaml)を入力ã¨ã—㦠moller を実行ã—ã¾ã™ã€‚ + +.. code-block:: bash + + $ moller -o job.sh input.yaml + +ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトãŒç”Ÿæˆã•ã‚Œå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚出力先ã¯æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«å†…ã®ãƒ‘ラメータã€ã¾ãŸã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã® -o ã¾ãŸã¯ --output オプションã§æŒ‡å®šã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ +両方指定ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãƒ‘ラメータãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚ã„ãšã‚Œã‚‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚ + +å¿…è¦ã«å¿œã˜ã¦ mollerã§ç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã®ã‚·ã‚¹ãƒ†ãƒ ã«è»¢é€ã—ã¾ã™ã€‚ +ãªãŠã€ã‚¹ã‚¯ãƒªãƒ—トã®ç¨®é¡žã¯ bash スクリプトã§ã™ã€‚ジョブ実行時ã«ä½¿ç”¨ã™ã‚‹ã‚·ã‚§ãƒ«ã‚’ bash ã«è¨­å®šã—ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(ログインシェルを cshç³»ãªã©ã«ã—ã¦ã„ã‚‹å ´åˆã¯æ³¨æ„) + + +リストファイルを作æˆã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +実行ã™ã‚‹ã‚¸ãƒ§ãƒ–ã®ãƒªã‚¹ãƒˆã‚’作æˆã—ã¾ã™ã€‚moller ã§ã¯ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã«å€‹åˆ¥ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã§å„ジョブを実行ã™ã‚‹ä»•æ§˜ã«ãªã£ã¦ã„ã¾ã™ã€‚ +対象ã¨ãªã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚¹ãƒˆã‚’æ ¼ç´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã€ãŸã¨ãˆã°ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦ä½œæˆã—ã¾ã™ã€‚ + +.. code-block:: bash + + $ /usr/bin/ls -1d * > list.dat + +ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã¨ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã™ã‚‹ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ¼ãƒ—ログラムãŒä»˜å±žã—ã¦ã„ã¾ã™ã€‚ + +.. code-block:: bash + + $ bash ./make_inputs.sh + +を実行ã™ã‚‹ã¨ã€ ``output`` ディレクトリã®ä¸‹ã«ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ç›¸å½“ã™ã‚‹ ``dataset-0001`` 〜 ``dataset-0020`` ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« ``list.dat`` ãŒä½œæˆã•ã‚Œã¾ã™ã€‚ + + +網羅計算を実行ã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +mollerã§ç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトをジョブスケジューラã«æŠ•å…¥ã—ã¾ã™ã€‚ã“ã®ä¾‹ã§ã¯ã‚¸ãƒ§ãƒ–スクリプトã¨å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ ``output`` ディレクトリã«ã‚³ãƒ”ーã—〠``output`` ã«ç§»å‹•ã—ã¦ã‚¸ãƒ§ãƒ–を投入ã—ã¦ã„ã¾ã™ã€‚ + + .. code-block:: bash + + $ cp job.sh input.yaml output/ + $ cd output + $ sbatch job.sh list.dat + +ジョブãŒå®Ÿè¡Œã•ã‚Œã‚‹ã¨ã€ãƒªã‚¹ãƒˆã«è¨˜è¼‰ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãã‚Œãžã‚Œ "result.txt" ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ +"result.txt" ã«ã¯ã€ã‚¸ãƒ§ãƒ–実行çµæžœã® "hello world.", "hello world again." ã¨ã„ã†æ–‡å­—列ãŒå‡ºåŠ›ã•ã‚Œã¦ã„ã‚‹ã“ã¨ãŒç¢ºèªã§ãã¾ã™ã€‚ + +実行状æ³ã‚’確èªã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +タスクã®å®Ÿè¡ŒçŠ¶æ³ã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ログをåŽé›†ã—ã¦ã‚¸ãƒ§ãƒ–ã”ã¨ã«å®Ÿè¡ŒçŠ¶æ³ã‚’一覧ã™ã‚‹ãƒ„ール moller_status ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ジョブを実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ä»¥ä¸‹ã‚’実行ã—ã¾ã™ã€‚ + +.. code-block:: bash + + $ moller_status input.yaml list.dat + +引数ã«ã¯æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ« input.yaml ã¨ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« list.dat を指定ã—ã¾ã™ã€‚リストファイルã¯çœç•¥å¯èƒ½ã§ã€ãã®å ´åˆã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ã‚¸ãƒ§ãƒ–ã®æƒ…報をåŽé›†ã—ã¾ã™ã€‚ + +出力サンプルを以下ã«ç¤ºã—ã¾ã™ã€‚ + +.. literalinclude:: ../../../../tutorial/moller/reference/status.txt + + +「oã€ã¯æ­£å¸¸çµ‚了ã—ãŸã‚¿ã‚¹ã‚¯ã€ã€Œxã€ã¯ã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸã‚¿ã‚¹ã‚¯ã€ã€Œ-ã€ã¯å‰ã®ã‚¿ã‚¹ã‚¯ãŒã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸãŸã‚スキップã•ã‚ŒãŸã‚¿ã‚¹ã‚¯ã€ã€Œ.ã€ã¯æœªå®Ÿè¡Œã®ã‚¿ã‚¹ã‚¯ã‚’示ã—ã¾ã™ã€‚ +今回ã¯å…¨ã¦æ­£å¸¸çµ‚了ã—ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚ + +失敗ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +タスクãŒå¤±æ•—ã—ãŸå ´åˆã€ãã®ã‚¸ãƒ§ãƒ–内ã®å¾Œç¶šã®ã‚¿ã‚¹ã‚¯ã¯å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。以下ã¯ã€å„タスク㌠10% ã®ç¢ºçŽ‡ã§å¤±æ•—ã™ã‚‹ã‚±ãƒ¼ã‚¹ã®å®Ÿè¡Œä¾‹ã§ã™ã€‚ + +.. literalinclude:: ../../../../tutorial/moller/reference/status_failed.txt + +dataset_0003, dataset_0004 㯠task1 ãŒå¤±æ•—ã—ã€å¾Œç¶šã® task2, task3 ã¯å®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã›ã‚“。ãã®ä»–ã® dataset 㯠task1 ãŒæˆåŠŸã—ã€æ¬¡ã® task2 ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ã‚ˆã†ã«ã€å„ジョブã¯ä»–ã®ã‚¸ãƒ§ãƒ–ã¨ã¯ç‹¬ç«‹ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ + +失敗ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã« retry ã®ã‚ªãƒ—ションをã¤ã‘ã¦å†å®Ÿè¡Œã—ã¾ã™ã€‚ +SLURMジョブスケジューラ (例: 物性研システムB) ã®å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ + +.. code-block:: bash + + $ sbatch job.sh --retry list.dat + +PBSジョブスケジューラ (例: 物性研システムC) ã®å ´åˆã¯ã‚¸ãƒ§ãƒ–スクリプトを編集ã—〠``retry=0`` ã®è¡Œã‚’ ``retry=1`` ã«å¤‰æ›´ã—ã¦ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’å†æŠ•å…¥ã—ã¾ã™ã€‚ + +.. literalinclude:: ../../../../tutorial/moller/reference/status_retry.txt + +エラーã«ãªã£ãŸã‚¿ã‚¹ã‚¯ã®ã¿å†å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚上記ã®ä¾‹ã§ã¯ã€dataset_0003 㯠task1 ãŒå†å®Ÿè¡Œã•ã‚Œæ­£å¸¸çµ‚了ã—ã€æ¬¡ã® task2 ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¦ã„ã¾ã™ã€‚dataset_0004 㯠task1, task2, task3 ãŒæ­£å¸¸ã«å®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã™ã€‚task3 ã¾ã§å…¨ã¦æ­£å¸¸çµ‚了ã—ã¦ã„るデータ・セットã«å¯¾ã—ã¦ã¯ä½•ã‚‚実行ã—ã¾ã›ã‚“。 + +ãªãŠã€å†å®Ÿè¡Œã®éš›ã«ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¯å¤‰æ›´ã—ãªã„ã§ãã ã•ã„。リストファイル内ã®é †ç•ªã§ã‚¸ãƒ§ãƒ–を管ç†ã—ã¦ã„ã‚‹ãŸã‚ã€å¤‰æ›´ã™ã‚‹ã¨æ­£ã—ãå†å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。 diff --git a/manual/v1.0.0/ja/html/_sources/moller/tutorial/dsqss.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/tutorial/dsqss.rst.txt new file mode 100644 index 0000000..3aa491b --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/tutorial/dsqss.rst.txt @@ -0,0 +1,79 @@ +DSQSS ã«ã‚ˆã‚‹ *moller* 計算ã®ä¾‹ +--------------------------------------------- + +ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¤ã„㦠+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ã“ã‚Œã¯ã€é‡å­å¤šä½“å•é¡Œã®çµŒè·¯ç©åˆ†ãƒ¢ãƒ³ãƒ†ã‚«ãƒ«ãƒ­æ³•ã‚’実行ã™ã‚‹ãŸã‚ã®ã‚ªãƒ¼ãƒ—ンソースソフトウェアパッケージã§ã‚ã‚‹ `DSQSS `__ を用ã„㟠``moller`` ã®ä¾‹ã§ã™ã€‚ã“ã®ä¾‹ã§ã¯ã€å‘¨æœŸå¢ƒç•Œæ¡ä»¶ä¸‹ã® :math:`S=1/2` (DSQSSã®ç”¨èªžã§ã¯ :math:`M=1`) ãŠã‚ˆã³ :math:`S=1` (:math:`M=2`) åå¼·ç£æ€§ãƒã‚¤ã‚¼ãƒ³ãƒ™ãƒ«ã‚¯éŽ–ã®ç£æ°—æ„Ÿå—率 :math:`\chi` ã®æ¸©åº¦ä¾å­˜æ€§ã‚’計算ã—ã¾ã™ã€‚ ``moller`` を使用ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹ãƒ‘ラメーター (:math:`M, L, T`) ã®è¨ˆç®—を並列ã«å®Ÿè¡Œã—ã¾ã™ã€‚ + +ã“ã®ä¾‹ã¯ `å…¬å¼ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã®ä¸€ã¤ `__ ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚ + +準備 +~~~~~ + +``moller`` (HTP-tools)パッケージ㨠``DSQSS`` ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€ISSP ã®ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム ``ohtaka`` を使用ã—ã¦è¨ˆç®—を実行ã—ã¾ã™ã€‚ + +実行方法 +~~~~~~~~ + +1. データセットを準備ã™ã‚‹ + + ã“ã®ãƒ‘ッケージã«å«ã¾ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—ト ``make_inputs.sh`` を実行ã—ã¾ã™ã€‚ + + .. code:: bash + + $ bash ./make_inputs.sh + + ã“ã‚Œã«ã‚ˆã‚Šã€ ``output`` ディレクトリãŒä½œæˆã•ã‚Œã¾ã™ï¼ˆã™ã§ã«å­˜åœ¨ã™ã‚‹å ´åˆã¯ã€ã¾ãšå‰Šé™¤ã—ã€å†åº¦ä½œæˆã—ã¾ã™ï¼‰ã€‚ ``output`` ã®ä¸‹ã«ã¯ã€å„パラメーター用ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªï¼ˆä¾‹ï¼š ``L_8__M_1__T_1.0``)ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ディレクトリã®ãƒªã‚¹ãƒˆã¯ ``list.dat`` ファイルã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ + +2. ``moller`` を使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ + + ジョブ記述ファイルを使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—〠``job.sh`` ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åã§ä¿å­˜ã—ã¾ã™ã€‚ + + .. code:: bash + + $ moller -o job.sh input.yaml + + 次ã«ã€``job.sh`` ã‚’ ``output`` ディレクトリã«ã‚³ãƒ”ーã—〠``output`` ディレクトリã«ç§»å‹•ã—ã¾ã™ã€‚ + +3. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ + + ジョブリストを引数ã¨ã—ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’é€ä¿¡ã—ã¾ã™ã€‚ + + .. code:: bash + + $ sbatch job.sh list.dat + +4. 状態を確èªã™ã‚‹ + + タスク実行ã®çŠ¶æ…‹ã¯ ``moller_status`` プログラムã«ã‚ˆã£ã¦ã¾ã¨ã‚られã¾ã™ã€‚ + + .. code:: bash + + $ moller_status input.yaml list.dat + +5. çµæžœã‚’集ã‚ã‚‹ + + 計算ãŒçµ‚了ã—ãŸå¾Œã€çµæžœã‚’以下ã®ã‚ˆã†ã«ã—ã¦é›†ã‚ã¾ã™ã€‚ + + .. code:: bash + + $ python3 ../extract_result.py list.dat + + ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã¯ã€:math:`M`, :math:`L`, :math:`T`, :math:`\chi` ã®å¹³å‡ã€ãŠã‚ˆã³ :math:`\chi` ã®æ¨™æº–誤差をå«ã‚€ 5 列ã®ãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« ``result.dat`` ã«çµæžœã‚’書ãè¾¼ã¿ã¾ã™ã€‚ + + çµæžœã‚’視覚化ã™ã‚‹ãŸã‚ã«ã€GNUPLOT ファイル ``plot_M1.plt`` ãŠã‚ˆã³ ``plot_M2.plt`` ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ + + .. code:: bash + + $ gnuplot --persist plot_M1.plt + $ gnuplot --persist plot_M2.plt + + |S=1/2 ã®ç£æ°—æ„Ÿå—率| |S=2 ã®ç£æ°—æ„Ÿå—率| + + :math:`S=1/2` 㨠:math:`S=1` AFH 鎖ã®ä¸»ãªé•ã„ã¯ã€åŠ±èµ·ã‚®ãƒ£ãƒƒãƒ—ãŒæ¶ˆå¤±ã™ã‚‹ã‹ (:math:`S=1/2`)ã€æ®‹ã‚‹ã‹ (:math:`S=1`) ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚ + ã“れをå映ã—ã¦ã€éžå¸¸ã«ä½Žæ¸©é ˜åŸŸã§ã®ç£æ°—æ„Ÿå—率ã¯ã€æœ‰é™ã«ãªã‚‹ (:math:`S=1/2`) ã‹ã€æ¶ˆå¤±ã™ã‚‹ (:math:`S=1`) ã‹ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚ + :math:`S=1/2` ã®å ´åˆã«ã¯ã€æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœã«ã‚ˆã‚Šã‚¹ãƒ”ンギャップãŒé–‹ãã€ãã®ãŸã‚å°ã•ã„ãƒã‚§ãƒ¼ãƒ³ã®ç£æ°—æ„Ÿå—率ãŒä½Žä¸‹ã—ã¾ã™ã€‚ + +.. |S=1/2 ã®ç£æ°—æ„Ÿå—率| image:: ../../../../images/tutorial_dsqss_M1.* +.. |S=2 ã®ç£æ°—æ„Ÿå—率| image:: ../../../../images/tutorial_dsqss_M2.* diff --git a/manual/v1.0.0/ja/html/_sources/moller/tutorial/hphi.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/tutorial/hphi.rst.txt new file mode 100644 index 0000000..9b02a64 --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/tutorial/hphi.rst.txt @@ -0,0 +1,86 @@ +HPhi ã«ã‚ˆã‚‹ *moller* 計算ã®ä¾‹ +------------------------------------------ + +ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¤ã„㦠+~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ã“ã‚Œã¯ã€é‡å­å¤šä½“å•é¡Œã®æ­£ç¢ºãªå¯¾è§’化方法を実行ã™ã‚‹ãŸã‚ã®ã‚ªãƒ¼ãƒ—ンソースソフトウェアパッケージã§ã‚ã‚‹ `HPhi `__ を用ã„㟠``moller`` ã®ä¾‹ã§ã™ã€‚ +ã“ã®ä¾‹ã§ã¯ã€å‘¨æœŸå¢ƒç•Œæ¡ä»¶ä¸‹ã® :math:`S=1/2` (``2S_1`` ディレクトリ) 㨠:math:`S=1` (``2S_2``) åå¼·ç£æ€§ãƒã‚¤ã‚¼ãƒ³ãƒ™ãƒ«ã‚¯éŽ–ã®åŠ±èµ·ã‚®ãƒ£ãƒƒãƒ— :math:`\Delta` ã®ã‚·ã‚¹ãƒ†ãƒ ã‚µã‚¤ã‚ºä¾å­˜æ€§ã‚’計算ã—ã¾ã™ã€‚ +``moller`` を使用ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚µã‚¤ã‚ºã®è¨ˆç®—を並列ã«å®Ÿè¡Œã—ã¾ã™ã€‚ +ã“ã‚Œã¯HPhi å…¬å¼ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã® `セクション 1.4 `__ ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚ + +準備 +~~~~~ + +``moller`` (HTP-tools)パッケージ㨠``HPhi`` ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€ISSP ã®ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム ``ohtaka`` を使用ã—ã¦è¨ˆç®—を実行ã—ã¾ã™ã€‚ + +実行方法 +~~~~~~~~ + +1. データセットを準備ã™ã‚‹ + + ``2S_1``, ``2S_2`` ã«å«ã¾ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—ト ``make_inputs.sh`` を実行ã—ã¾ã™ã€‚ + + .. code:: bash + + $ bash ./make_inputs.sh + + ``L_8``, ``L_10``, ..., ``L_24`` (``2S_2`` ã®å ´åˆã¯ ``L_18`` ã¾ã§) ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ + ディレクトリã®ãƒªã‚¹ãƒˆã¯ ``list.dat`` ファイルã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ + ã•ã‚‰ã«ã€ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚®ãƒ£ãƒƒãƒ—を集ã‚ã‚‹ãŸã‚ã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—ト〠``extract_gap.sh`` ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ + +2. ``moller`` を使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ + + ``input.yaml`` ã‹ã‚‰ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—〠``job.sh`` ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åã§ä¿å­˜ã—ã¾ã™ã€‚ + + .. code:: bash + + $ moller -o job.sh input.yaml + +3. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ + + ジョブリストを引数ã¨ã—ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’é€ä¿¡ã—ã¾ã™ã€‚ + + .. code:: bash + + $ sbatch job.sh list.dat + +4. 状態を確èªã™ã‚‹ + + タスク実行ã®çŠ¶æ…‹ã¯ ``moller_status`` プログラムã«ã‚ˆã£ã¦ç¢ºèªã§ãã¾ã™ã€‚ + + .. code:: bash + + $ moller_status input.yaml list.dat + +5. çµæžœã‚’集ã‚ã‚‹ + + 計算ãŒçµ‚了ã—ãŸå¾Œã€ã‚¸ãƒ§ãƒ–ã‹ã‚‰ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚®ãƒ£ãƒƒãƒ—を以下ã®ã‚ˆã†ã«ã—ã¦é›†ã‚ã¾ã™ã€‚ + + .. code:: bash + + $ bash extract_gap.sh + + ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã¯ã€é•·ã• :math:`L` ã¨ã‚®ãƒ£ãƒƒãƒ— :math:`\Delta` ã®ãƒšã‚¢ã‚’テキストファイル ``gap.dat`` ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚ + + çµæžœã‚’視覚化ã™ã‚‹ãŸã‚ã«ã€Gnuplot ファイル ``gap.plt`` ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ + ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã€å¾—られãŸã‚®ãƒ£ãƒƒãƒ—データãŒäºˆæƒ³ã•ã‚Œã‚‹æ›²ç·šã«ã‚ˆã£ã¦ãƒ•ã‚£ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚ + + .. math:: \Delta(L; S=1/2) = \Delta_\infty + A/L + + ãŠã‚ˆã³ + + .. math:: \Delta(L; S=1) = \Delta_\infty + B\exp(-CL). + + グラフã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§æç”»ã§ãã¾ã™ã€‚ + + .. code:: bash + + $ gnuplot --persist gap.plt + + .. figure:: ../../../../images/tutorial_hphi_gap.* + :alt: スピンギャップã®æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœ + + スピンギャップã®æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœ + + :math:`S=1/2` ã®å ´åˆã€å¯¾æ•°è£œæ­£ã«ã‚ˆã‚Šã‚¹ãƒ”ンギャップã¯æœ‰é™ã®ã¾ã¾ã§ã™ã€‚一方ã§ã€:math:`S=1` ã®å ´åˆã€å¤–挿値 :math:`\Delta_\infty = 0.417(1)` ã¯ä»¥å‰ã®çµæžœï¼ˆä¾‹ãˆã°ã€QMC ã«ã‚ˆã‚‹ :math:`\Delta_\infty = 0.41048(6)` (Todo and Kato, PRL **87**, 047203 (2001)))ã¨ã‚ˆãã‚ã£ã¦ã„ã¾ã™ã€‚ diff --git a/manual/v1.0.0/ja/html/_sources/moller/tutorial/index.rst.txt b/manual/v1.0.0/ja/html/_sources/moller/tutorial/index.rst.txt new file mode 100644 index 0000000..4fbc667 --- /dev/null +++ b/manual/v1.0.0/ja/html/_sources/moller/tutorial/index.rst.txt @@ -0,0 +1,11 @@ +.. _sec-tutorial: + +ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« +================================================================ + +.. toctree:: + :maxdepth: 2 + + basic + hphi + dsqss diff --git a/manual/v1.0.0/ja/html/_static/alabaster.css b/manual/v1.0.0/ja/html/_static/alabaster.css new file mode 100644 index 0000000..55f9cb1 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/alabaster.css @@ -0,0 +1,708 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar { + max-height: 100%; + overflow-y: auto; +} + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia; + font-size: 1em; +} + +div.sphinxsidebar #searchbox input[type="text"] { + width: 160px; +} + +div.sphinxsidebar .search > div { + display: table-cell; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin-left: 0; + margin-right: 0; + margin-top: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Hide ugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/_static/basic.css b/manual/v1.0.0/ja/html/_static/basic.css new file mode 100644 index 0000000..4157edf --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/basic.css @@ -0,0 +1,925 @@ +/* + * basic.css + * ~~~~~~~~~ + * + * Sphinx stylesheet -- basic theme. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +/* -- main layout ----------------------------------------------------------- */ + +div.clearer { + clear: both; +} + +div.section::after { + display: block; + content: ''; + clear: left; +} + +/* -- relbar ---------------------------------------------------------------- */ + +div.related { + width: 100%; + font-size: 90%; +} + +div.related h3 { + display: none; +} + +div.related ul { + margin: 0; + padding: 0 0 0 10px; + list-style: none; +} + +div.related li { + display: inline; +} + +div.related li.right { + float: right; + margin-right: 5px; +} + +/* -- sidebar --------------------------------------------------------------- */ + +div.sphinxsidebarwrapper { + padding: 10px 5px 0 10px; +} + +div.sphinxsidebar { + float: left; + width: 230px; + margin-left: -100%; + font-size: 90%; + word-wrap: break-word; + overflow-wrap : break-word; +} + +div.sphinxsidebar ul { + list-style: none; +} + +div.sphinxsidebar ul ul, +div.sphinxsidebar ul.want-points { + margin-left: 20px; + list-style: square; +} + +div.sphinxsidebar ul ul { + margin-top: 0; + margin-bottom: 0; +} + +div.sphinxsidebar form { + margin-top: 10px; +} + +div.sphinxsidebar input { + border: 1px solid #98dbcc; + font-family: sans-serif; + font-size: 1em; +} + +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + +div.sphinxsidebar #searchbox input[type="text"] { + float: left; + width: 80%; + padding: 0.25em; + box-sizing: border-box; +} + +div.sphinxsidebar #searchbox input[type="submit"] { + float: left; + width: 20%; + border-left: none; + padding: 0.25em; + box-sizing: border-box; +} + + +img { + border: 0; + max-width: 100%; +} + +/* -- search page ----------------------------------------------------------- */ + +ul.search { + margin: 10px 0 0 20px; + padding: 0; +} + +ul.search li { + padding: 5px 0 5px 20px; + background-image: url(file.png); + background-repeat: no-repeat; + background-position: 0 7px; +} + +ul.search li a { + font-weight: bold; +} + +ul.search li p.context { + color: #888; + margin: 2px 0 0 30px; + text-align: left; +} + +ul.keywordmatches li.goodmatch a { + font-weight: bold; +} + +/* -- index page ------------------------------------------------------------ */ + +table.contentstable { + width: 90%; + margin-left: auto; + margin-right: auto; +} + +table.contentstable p.biglink { + line-height: 150%; +} + +a.biglink { + font-size: 1.3em; +} + +span.linkdescr { + font-style: italic; + padding-top: 5px; + font-size: 90%; +} + +/* -- general index --------------------------------------------------------- */ + +table.indextable { + width: 100%; +} + +table.indextable td { + text-align: left; + vertical-align: top; +} + +table.indextable ul { + margin-top: 0; + margin-bottom: 0; + list-style-type: none; +} + +table.indextable > tbody > tr > td > ul { + padding-left: 0em; +} + +table.indextable tr.pcap { + height: 10px; +} + +table.indextable tr.cap { + margin-top: 10px; + background-color: #f2f2f2; +} + +img.toggler { + margin-right: 3px; + margin-top: 3px; + cursor: pointer; +} + +div.modindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +div.genindex-jumpbox { + border-top: 1px solid #ddd; + border-bottom: 1px solid #ddd; + margin: 1em 0 1em 0; + padding: 0.4em; +} + +/* -- domain module index --------------------------------------------------- */ + +table.modindextable td { + padding: 2px; + border-collapse: collapse; +} + +/* -- general body styles --------------------------------------------------- */ + +div.body { + min-width: inherit; + max-width: 800px; +} + +div.body p, div.body dd, div.body li, div.body blockquote { + -moz-hyphens: auto; + -ms-hyphens: auto; + -webkit-hyphens: auto; + hyphens: auto; +} + +a.headerlink { + visibility: hidden; +} + +a:visited { + color: #551A8B; +} + +h1:hover > a.headerlink, +h2:hover > a.headerlink, +h3:hover > a.headerlink, +h4:hover > a.headerlink, +h5:hover > a.headerlink, +h6:hover > a.headerlink, +dt:hover > a.headerlink, +caption:hover > a.headerlink, +p.caption:hover > a.headerlink, +div.code-block-caption:hover > a.headerlink { + visibility: visible; +} + +div.body p.caption { + text-align: inherit; +} + +div.body td { + text-align: left; +} + +.first { + margin-top: 0 !important; +} + +p.rubric { + margin-top: 30px; + font-weight: bold; +} + +img.align-left, figure.align-left, .figure.align-left, object.align-left { + clear: left; + float: left; + margin-right: 1em; +} + +img.align-right, figure.align-right, .figure.align-right, object.align-right { + clear: right; + float: right; + margin-left: 1em; +} + +img.align-center, figure.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +img.align-default, figure.align-default, .figure.align-default { + display: block; + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-default { + text-align: center; +} + +.align-right { + text-align: right; +} + +/* -- sidebars -------------------------------------------------------------- */ + +div.sidebar, +aside.sidebar { + margin: 0 0 0.5em 1em; + border: 1px solid #ddb; + padding: 7px; + background-color: #ffe; + width: 40%; + float: right; + clear: right; + overflow-x: auto; +} + +p.sidebar-title { + font-weight: bold; +} + +nav.contents, +aside.topic, +div.admonition, div.topic, blockquote { + clear: left; +} + +/* -- topics ---------------------------------------------------------------- */ + +nav.contents, +aside.topic, +div.topic { + border: 1px solid #ccc; + padding: 7px; + margin: 10px 0 10px 0; +} + +p.topic-title { + font-size: 1.1em; + font-weight: bold; + margin-top: 10px; +} + +/* -- admonitions ----------------------------------------------------------- */ + +div.admonition { + margin-top: 10px; + margin-bottom: 10px; + padding: 7px; +} + +div.admonition dt { + font-weight: bold; +} + +p.admonition-title { + margin: 0px 10px 5px 0px; + font-weight: bold; +} + +div.body p.centered { + text-align: center; + margin-top: 25px; +} + +/* -- content of sidebars/topics/admonitions -------------------------------- */ + +div.sidebar > :last-child, +aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, +div.topic > :last-child, +div.admonition > :last-child { + margin-bottom: 0; +} + +div.sidebar::after, +aside.sidebar::after, +nav.contents::after, +aside.topic::after, +div.topic::after, +div.admonition::after, +blockquote::after { + display: block; + content: ''; + clear: both; +} + +/* -- tables ---------------------------------------------------------------- */ + +table.docutils { + margin-top: 10px; + margin-bottom: 10px; + border: 0; + border-collapse: collapse; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +table.align-default { + margin-left: auto; + margin-right: auto; +} + +table caption span.caption-number { + font-style: italic; +} + +table caption span.caption-text { +} + +table.docutils td, table.docutils th { + padding: 1px 8px 1px 5px; + border-top: 0; + border-left: 0; + border-right: 0; + border-bottom: 1px solid #aaa; +} + +th { + text-align: left; + padding-right: 5px; +} + +table.citation { + border-left: solid 1px gray; + margin-left: 1px; +} + +table.citation td { + border-bottom: none; +} + +th > :first-child, +td > :first-child { + margin-top: 0px; +} + +th > :last-child, +td > :last-child { + margin-bottom: 0px; +} + +/* -- figures --------------------------------------------------------------- */ + +div.figure, figure { + margin: 0.5em; + padding: 0.5em; +} + +div.figure p.caption, figcaption { + padding: 0.3em; +} + +div.figure p.caption span.caption-number, +figcaption span.caption-number { + font-style: italic; +} + +div.figure p.caption span.caption-text, +figcaption span.caption-text { +} + +/* -- field list styles ----------------------------------------------------- */ + +table.field-list td, table.field-list th { + border: 0 !important; +} + +.field-list ul { + margin: 0; + padding-left: 1em; +} + +.field-list p { + margin: 0; +} + +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist { + margin: 1em 0; +} + +table.hlist td { + vertical-align: top; +} + +/* -- object description styles --------------------------------------------- */ + +.sig { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; +} + +.sig-name, code.descname { + background-color: transparent; + font-weight: bold; +} + +.sig-name { + font-size: 1.1em; +} + +code.descname { + font-size: 1.2em; +} + +.sig-prename, code.descclassname { + background-color: transparent; +} + +.optional { + font-size: 1.3em; +} + +.sig-paren { + font-size: larger; +} + +.sig-param.n { + font-style: italic; +} + +/* C++ specific styling */ + +.sig-inline.c-texpr, +.sig-inline.cpp-texpr { + font-family: unset; +} + +.sig.c .k, .sig.c .kt, +.sig.cpp .k, .sig.cpp .kt { + color: #0033B3; +} + +.sig.c .m, +.sig.cpp .m { + color: #1750EB; +} + +.sig.c .s, .sig.c .sc, +.sig.cpp .s, .sig.cpp .sc { + color: #067D17; +} + + +/* -- other body styles ----------------------------------------------------- */ + +ol.arabic { + list-style: decimal; +} + +ol.loweralpha { + list-style: lower-alpha; +} + +ol.upperalpha { + list-style: upper-alpha; +} + +ol.lowerroman { + list-style: lower-roman; +} + +ol.upperroman { + list-style: upper-roman; +} + +:not(li) > ol > li:first-child > :first-child, +:not(li) > ul > li:first-child > :first-child { + margin-top: 0px; +} + +:not(li) > ol > li:last-child > :last-child, +:not(li) > ul > li:last-child > :last-child { + margin-bottom: 0px; +} + +ol.simple ol p, +ol.simple ul p, +ul.simple ol p, +ul.simple ul p { + margin-top: 0; +} + +ol.simple > li:not(:first-child) > p, +ul.simple > li:not(:first-child) > p { + margin-top: 0; +} + +ol.simple p, +ul.simple p { + margin-bottom: 0; +} + +aside.footnote > span, +div.citation > span { + float: left; +} +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { + margin-bottom: 0em; +} +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { + content: ""; + clear: both; +} + +dl.field-list { + display: grid; + grid-template-columns: fit-content(30%) auto; +} + +dl.field-list > dt { + font-weight: bold; + word-break: break-word; + padding-left: 0.5em; + padding-right: 5px; +} + +dl.field-list > dd { + padding-left: 0.5em; + margin-top: 0em; + margin-left: 0em; + margin-bottom: 0em; +} + +dl { + margin-bottom: 15px; +} + +dd > :first-child { + margin-top: 0px; +} + +dd ul, dd table { + margin-bottom: 10px; +} + +dd { + margin-top: 3px; + margin-bottom: 10px; + margin-left: 30px; +} + +.sig dd { + margin-top: 0px; + margin-bottom: 0px; +} + +.sig dl { + margin-top: 0px; + margin-bottom: 0px; +} + +dl > dd:last-child, +dl > dd:last-child > :last-child { + margin-bottom: 0; +} + +dt:target, span.highlighted { + background-color: #fbe54e; +} + +rect.highlighted { + fill: #fbe54e; +} + +dl.glossary dt { + font-weight: bold; + font-size: 1.1em; +} + +.versionmodified { + font-style: italic; +} + +.system-message { + background-color: #fda; + padding: 5px; + border: 3px solid red; +} + +.footnote:target { + background-color: #ffa; +} + +.line-block { + display: block; + margin-top: 1em; + margin-bottom: 1em; +} + +.line-block .line-block { + margin-top: 0; + margin-bottom: 0; + margin-left: 1.5em; +} + +.guilabel, .menuselection { + font-family: sans-serif; +} + +.accelerator { + text-decoration: underline; +} + +.classifier { + font-style: oblique; +} + +.classifier:before { + font-style: normal; + margin: 0 0.5em; + content: ":"; + display: inline-block; +} + +abbr, acronym { + border-bottom: dotted 1px; + cursor: help; +} + +.translated { + background-color: rgba(207, 255, 207, 0.2) +} + +.untranslated { + background-color: rgba(255, 207, 207, 0.2) +} + +/* -- code displays --------------------------------------------------------- */ + +pre { + overflow: auto; + overflow-y: hidden; /* fixes display issues on Chrome browsers */ +} + +pre, div[class*="highlight-"] { + clear: both; +} + +span.pre { + -moz-hyphens: none; + -ms-hyphens: none; + -webkit-hyphens: none; + hyphens: none; + white-space: nowrap; +} + +div[class*="highlight-"] { + margin: 1em 0; +} + +td.linenos pre { + border: 0; + background-color: transparent; + color: #aaa; +} + +table.highlighttable { + display: block; +} + +table.highlighttable tbody { + display: block; +} + +table.highlighttable tr { + display: flex; +} + +table.highlighttable td { + margin: 0; + padding: 0; +} + +table.highlighttable td.linenos { + padding-right: 0.5em; +} + +table.highlighttable td.code { + flex: 1; + overflow: hidden; +} + +.highlight .hll { + display: block; +} + +div.highlight pre, +table.highlighttable pre { + margin: 0; +} + +div.code-block-caption + div { + margin-top: 0; +} + +div.code-block-caption { + margin-top: 1em; + padding: 2px 5px; + font-size: small; +} + +div.code-block-caption code { + background-color: transparent; +} + +table.highlighttable td.linenos, +span.linenos, +div.highlight span.gp { /* gp: Generic.Prompt */ + user-select: none; + -webkit-user-select: text; /* Safari fallback only */ + -webkit-user-select: none; /* Chrome/Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+ */ +} + +div.code-block-caption span.caption-number { + padding: 0.1em 0.3em; + font-style: italic; +} + +div.code-block-caption span.caption-text { +} + +div.literal-block-wrapper { + margin: 1em 0; +} + +code.xref, a code { + background-color: transparent; + font-weight: bold; +} + +h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { + background-color: transparent; +} + +.viewcode-link { + float: right; +} + +.viewcode-back { + float: right; + font-family: sans-serif; +} + +div.viewcode-block:target { + margin: -1px -10px; + padding: 0 10px; +} + +/* -- math display ---------------------------------------------------------- */ + +img.math { + vertical-align: middle; +} + +div.body div.math p { + text-align: center; +} + +span.eqno { + float: right; +} + +span.eqno a.headerlink { + position: absolute; + z-index: 1; +} + +div.math:hover a.headerlink { + visibility: visible; +} + +/* -- printout stylesheet --------------------------------------------------- */ + +@media print { + div.document, + div.documentwrapper, + div.bodywrapper { + margin: 0 !important; + width: 100%; + } + + div.sphinxsidebar, + div.related, + div.footer, + #top-link { + display: none; + } +} \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/_static/custom.css b/manual/v1.0.0/ja/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/manual/v1.0.0/ja/html/_static/doctools.js b/manual/v1.0.0/ja/html/_static/doctools.js new file mode 100644 index 0000000..d06a71d --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/doctools.js @@ -0,0 +1,156 @@ +/* + * doctools.js + * ~~~~~~~~~~~ + * + * Base JavaScript utilities for all Sphinx HTML documentation. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); + } +}; + +/** + * Small JavaScript module for the documentation. + */ +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); + }, + + /** + * i18n support + */ + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", + + // gettext and ngettext don't access this so that the functions + // can safely bound to a different name (_ = Documentation.gettext) + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists + } + }, + + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; + }, + + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; + }, + + /** + * helper function to focus on search bar + */ + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); + }, + + /** + * Initialise the domain index toggle buttons + */ + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; + + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); + }, + + initOnKeyListeners: () => { + // only install a listener if it is really needed + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { + switch (event.key) { + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; + } + } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } + }); + }, +}; + +// quick alias for translations +const _ = Documentation.gettext; + +_ready(Documentation.init); diff --git a/manual/v1.0.0/ja/html/_static/documentation_options.js b/manual/v1.0.0/ja/html/_static/documentation_options.js new file mode 100644 index 0000000..026c2e5 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/documentation_options.js @@ -0,0 +1,13 @@ +const DOCUMENTATION_OPTIONS = { + VERSION: '1.0.0', + LANGUAGE: 'ja', + COLLAPSE_INDEX: false, + BUILDER: 'html', + FILE_SUFFIX: '.html', + LINK_SUFFIX: '.html', + HAS_SOURCE: true, + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, + SHOW_SEARCH_SUMMARY: true, + ENABLE_SEARCH_SHORTCUTS: true, +}; \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/_static/file.png b/manual/v1.0.0/ja/html/_static/file.png new file mode 100644 index 0000000000000000000000000000000000000000..a858a410e4faa62ce324d814e4b816fff83a6fb3 GIT binary patch literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/_static/graphviz.css b/manual/v1.0.0/ja/html/_static/graphviz.css new file mode 100644 index 0000000..8d81c02 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/graphviz.css @@ -0,0 +1,19 @@ +/* + * graphviz.css + * ~~~~~~~~~~~~ + * + * Sphinx stylesheet -- graphviz extension. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +img.graphviz { + border: 0; + max-width: 100%; +} + +object.graphviz { + max-width: 100%; +} diff --git a/manual/v1.0.0/ja/html/_static/language_data.js b/manual/v1.0.0/ja/html/_static/language_data.js new file mode 100644 index 0000000..b368127 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/language_data.js @@ -0,0 +1,26 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = []; + + +/* Non-minified version is copied as a separate JS file, is available */ + +/** + * Dummy stemmer for languages without stemming rules. + */ +var Stemmer = function() { + this.stemWord = function(w) { + return w; + } +} + diff --git a/manual/v1.0.0/ja/html/_static/minus.png b/manual/v1.0.0/ja/html/_static/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..d96755fdaf8bb2214971e0db9c1fd3077d7c419d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu=nj kDsEF_5m^0CR;1wuP-*O&G^0G}KYk!hp00i_>zopr08q^qX#fBK literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/_static/plus.png b/manual/v1.0.0/ja/html/_static/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..7107cec93a979b9a5f64843235a16651d563ce2d GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^+#t*WBp7;*Yy1LIik>cxAr*|t7R?Mi>2?kWtu>-2 m3q%Vub%g%s<8sJhVPMczOq}xhg9DJoz~JfX=d#Wzp$Pyb1r*Kz literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/_static/pygments.css b/manual/v1.0.0/ja/html/_static/pygments.css new file mode 100644 index 0000000..0d49244 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/pygments.css @@ -0,0 +1,75 @@ +pre { line-height: 125%; } +td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } +td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } +.highlight .hll { background-color: #ffffcc } +.highlight { background: #eeffcc; } +.highlight .c { color: #408090; font-style: italic } /* Comment */ +.highlight .err { border: 1px solid #FF0000 } /* Error */ +.highlight .k { color: #007020; font-weight: bold } /* Keyword */ +.highlight .o { color: #666666 } /* Operator */ +.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */ +.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #007020 } /* Comment.Preproc */ +.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */ +.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */ +.highlight .gd { color: #A00000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +.highlight .gi { color: #00A000 } /* Generic.Inserted */ +.highlight .go { color: #333333 } /* Generic.Output */ +.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #0044DD } /* Generic.Traceback */ +.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #007020 } /* Keyword.Pseudo */ +.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #902000 } /* Keyword.Type */ +.highlight .m { color: #208050 } /* Literal.Number */ +.highlight .s { color: #4070a0 } /* Literal.String */ +.highlight .na { color: #4070a0 } /* Name.Attribute */ +.highlight .nb { color: #007020 } /* Name.Builtin */ +.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */ +.highlight .no { color: #60add5 } /* Name.Constant */ +.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */ +.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #007020 } /* Name.Exception */ +.highlight .nf { color: #06287e } /* Name.Function */ +.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */ +.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #bb60d5 } /* Name.Variable */ +.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mb { color: #208050 } /* Literal.Number.Bin */ +.highlight .mf { color: #208050 } /* Literal.Number.Float */ +.highlight .mh { color: #208050 } /* Literal.Number.Hex */ +.highlight .mi { color: #208050 } /* Literal.Number.Integer */ +.highlight .mo { color: #208050 } /* Literal.Number.Oct */ +.highlight .sa { color: #4070a0 } /* Literal.String.Affix */ +.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */ +.highlight .sc { color: #4070a0 } /* Literal.String.Char */ +.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */ +.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #4070a0 } /* Literal.String.Double */ +.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */ +.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */ +.highlight .sx { color: #c65d09 } /* Literal.String.Other */ +.highlight .sr { color: #235388 } /* Literal.String.Regex */ +.highlight .s1 { color: #4070a0 } /* Literal.String.Single */ +.highlight .ss { color: #517918 } /* Literal.String.Symbol */ +.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */ +.highlight .fm { color: #06287e } /* Name.Function.Magic */ +.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */ +.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */ +.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */ +.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */ +.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/_static/searchtools.js b/manual/v1.0.0/ja/html/_static/searchtools.js new file mode 100644 index 0000000..7918c3f --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/searchtools.js @@ -0,0 +1,574 @@ +/* + * searchtools.js + * ~~~~~~~~~~~~~~~~ + * + * Sphinx JavaScript utilities for the full-text search. + * + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ +"use strict"; + +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [docname, title, anchor, descr, score, filename] + // and returns the new score. + /* + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score + }, + */ + + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, + // Used when the priority is not in the mapping. + objPrioDefault: 0, + + // query found in title + title: 15, + partialTitle: 7, + // query found in terms + term: 5, + partialTerm: 2, + }; +} + +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms, highlightTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + const contentRoot = document.documentElement.dataset.content_root; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = contentRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = contentRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; + } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) { + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + // highlight search terms in the description + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + } + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + // highlight search terms in the summary + if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js + highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted")); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms, + highlightTerms, +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms, highlightTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms, highlightTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings +} + +/** + * Search Module + */ +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; + }, + + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); + }, + + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), + + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); + } + }, + + hasIndex: () => Search._index !== null, + + deferQuery: (query) => (Search._queued_query = query), + + stopPulse: () => (Search._pulse_status = -1), + + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { + Search._pulse_status = (Search._pulse_status + 1) % 4; + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; + pulse(); + }, + + /** + * perform a search for something (or wait until index is loaded) + */ + performSearch: (query) => { + // create the required interface elements + const searchText = document.createElement("h2"); + searchText.textContent = _("Searching"); + const searchSummary = document.createElement("p"); + searchSummary.classList.add("search-summary"); + searchSummary.innerText = ""; + const searchList = document.createElement("ul"); + searchList.classList.add("search"); + + const out = document.getElementById("search-results"); + Search.title = out.appendChild(searchText); + Search.dots = Search.title.appendChild(document.createElement("span")); + Search.status = out.appendChild(searchSummary); + Search.output = out.appendChild(searchList); + + const searchProgress = document.getElementById("search-progress"); + // Some themes don't use the search progress node + if (searchProgress) { + searchProgress.innerText = _("Preparing search..."); + } + Search.startPulse(); + + // index already loaded, the browser was quick! + if (Search.hasIndex()) Search.query(query); + else Search.deferQuery(query); + }, + + /** + * execute search (requires search index to be loaded) + */ + query: (query) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // stem the search terms and add them to the correct list + const stemmer = new Stemmer(); + const searchTerms = new Set(); + const excludedTerms = new Set(); + const highlightTerms = new Set(); + const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); + splitQuery(query.trim()).forEach((queryTerm) => { + const queryTermLower = queryTerm.toLowerCase(); + + // maybe skip this "word" + // stopwords array is from language_data.js + if ( + stopwords.indexOf(queryTermLower) !== -1 || + queryTerm.match(/^\d+$/) + ) + return; + + // stem the word + let word = stemmer.stemWord(queryTermLower); + // select the correct list + if (word[0] === "-") excludedTerms.add(word.substr(1)); + else { + searchTerms.add(word); + highlightTerms.add(queryTermLower); + } + }); + + if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js + localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) + } + + // console.debug("SEARCH: searching for:"); + // console.info("required: ", [...searchTerms]); + // console.info("excluded: ", [...excludedTerms]); + + // array of [docname, title, anchor, descr, score, filename] + let results = []; + _removeChildren(document.getElementById("search-progress")); + + const queryLower = query.toLowerCase(); + for (const [title, foundTitles] of Object.entries(allTitles)) { + if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + for (const [file, id] of foundTitles) { + let score = Math.round(100 * queryLower.length / title.length) + results.push([ + docNames[file], + titles[file] !== title ? `${titles[file]} > ${title}` : title, + id !== null ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // search for explicit entries in index directives + for (const [entry, foundEntries] of Object.entries(indexEntries)) { + if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { + for (const [file, id] of foundEntries) { + let score = Math.round(100 * queryLower.length / entry.length) + results.push([ + docNames[file], + titles[file], + id ? "#" + id : "", + null, + score, + filenames[file], + ]); + } + } + } + + // lookup as object + objectTerms.forEach((term) => + results.push(...Search.performObjectSearch(term, objectTerms)) + ); + + // lookup as search terms in fulltext + results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + + // let the scorer override scores with a custom scoring function + if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); + + // now sort the results by score (in opposite order of appearance, since the + // display function below uses pop() to retrieve items) and then + // alphabetically + results.sort((a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; + }); + + // remove duplicate search results + // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept + let seen = new Set(); + results = results.reverse().reduce((acc, result) => { + let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); + if (!seen.has(resultStr)) { + acc.push(result); + seen.add(resultStr); + } + return acc; + }, []); + + results = results.reverse(); + + // for debugging + //Search.lastresults = results.slice(); // a copy + // console.info("search results:", Search.lastresults); + + // print the results + _displayNextItem(results, results.length, searchTerms, highlightTerms); + }, + + /** + * search for object names + */ + performObjectSearch: (object, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const objects = Search._index.objects; + const objNames = Search._index.objnames; + const titles = Search._index.titles; + + const results = []; + + const objectSearchCallback = (prefix, match) => { + const name = match[4] + const fullname = (prefix ? prefix + "." : "") + name; + const fullnameLower = fullname.toLowerCase(); + if (fullnameLower.indexOf(object) < 0) return; + + let score = 0; + const parts = fullnameLower.split("."); + + // check for different match types: exact matches of full name or + // "last name" (i.e. last dotted part) + if (fullnameLower === object || parts.slice(-1)[0] === object) + score += Scorer.objNameMatch; + else if (parts.slice(-1)[0].indexOf(object) > -1) + score += Scorer.objPartialMatch; // matches in last name + + const objName = objNames[match[1]][2]; + const title = titles[match[0]]; + + // If more than one term searched for, we require other words to be + // found in the name/title/description + const otherTerms = new Set(objectTerms); + otherTerms.delete(object); + if (otherTerms.size > 0) { + const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); + if ( + [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) + ) + return; + } + + let anchor = match[3]; + if (anchor === "") anchor = fullname; + else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; + + const descr = objName + _(", in ") + title; + + // add custom score for some objects according to scorer + if (Scorer.objPrio.hasOwnProperty(match[2])) + score += Scorer.objPrio[match[2]]; + else score += Scorer.objPrioDefault; + + results.push([ + docNames[match[0]], + fullname, + "#" + anchor, + descr, + score, + filenames[match[0]], + ]); + }; + Object.keys(objects).forEach((prefix) => + objects[prefix].forEach((array) => + objectSearchCallback(prefix, array) + ) + ); + return results; + }, + + /** + * search for full-text terms in the index + */ + performTermsSearch: (searchTerms, excludedTerms) => { + // prepare search + const terms = Search._index.terms; + const titleTerms = Search._index.titleterms; + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + + const scoreMap = new Map(); + const fileMap = new Map(); + + // perform the search on the required terms + searchTerms.forEach((word) => { + const files = []; + const arr = [ + { files: terms[word], score: Scorer.term }, + { files: titleTerms[word], score: Scorer.title }, + ]; + // add support for partial matches + if (word.length > 2) { + const escapedWord = _escapeRegExp(word); + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord) && !terms[word]) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord) && !titleTerms[word]) + arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); + }); + } + + // no match but word was a required one + if (arr.every((record) => record.files === undefined)) return; + + // found search word in contents + arr.forEach((record) => { + if (record.files === undefined) return; + + let recordFiles = record.files; + if (recordFiles.length === undefined) recordFiles = [recordFiles]; + files.push(...recordFiles); + + // set score for the word in each file + recordFiles.forEach((file) => { + if (!scoreMap.has(file)) scoreMap.set(file, {}); + scoreMap.get(file)[word] = record.score; + }); + }); + + // create the mapping + files.forEach((file) => { + if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) + fileMap.get(file).push(word); + else fileMap.set(file, [word]); + }); + }); + + // now check if the files don't contain excluded terms + const results = []; + for (const [file, wordList] of fileMap) { + // check if all requirements are matched + + // as search terms with length < 3 are discarded + const filteredTermCount = [...searchTerms].filter( + (term) => term.length > 2 + ).length; + if ( + wordList.length !== searchTerms.size && + wordList.length !== filteredTermCount + ) + continue; + + // ensure that none of the excluded terms is in the search result + if ( + [...excludedTerms].some( + (term) => + terms[term] === file || + titleTerms[term] === file || + (terms[term] || []).includes(file) || + (titleTerms[term] || []).includes(file) + ) + ) + break; + + // select one (max) score for the file. + const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); + // add result to the result list + results.push([ + docNames[file], + titles[file], + "", + null, + score, + filenames[file], + ]); + } + return results; + }, + + /** + * helper function to return a node containing the + * search summary for a given text. keywords is a list + * of stemmed words. + */ + makeSearchSummary: (htmlText, keywords) => { + const text = Search.htmlToText(htmlText); + if (text === "") return null; + + const textLower = text.toLowerCase(); + const actualStartPosition = [...keywords] + .map((k) => textLower.indexOf(k.toLowerCase())) + .filter((i) => i > -1) + .slice(-1)[0]; + const startWithContext = Math.max(actualStartPosition - 120, 0); + + const top = startWithContext === 0 ? "" : "..."; + const tail = startWithContext + 240 < text.length ? "..." : ""; + + let summary = document.createElement("p"); + summary.classList.add("context"); + summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; + + return summary; + }, +}; + +_ready(Search.init); diff --git a/manual/v1.0.0/ja/html/_static/sphinx_highlight.js b/manual/v1.0.0/ja/html/_static/sphinx_highlight.js new file mode 100644 index 0000000..8a96c69 --- /dev/null +++ b/manual/v1.0.0/ja/html/_static/sphinx_highlight.js @@ -0,0 +1,154 @@ +/* Highlighting utilities for Sphinx HTML documentation. */ +"use strict"; + +const SPHINX_HIGHLIGHT_ENABLED = true + +/** + * highlight a given string on a node by wrapping it in + * span elements with the given class name. + */ +const _highlight = (node, addItems, text, className) => { + if (node.nodeType === Node.TEXT_NODE) { + const val = node.nodeValue; + const parent = node.parentNode; + const pos = val.toLowerCase().indexOf(text); + if ( + pos >= 0 && + !parent.classList.contains(className) && + !parent.classList.contains("nohighlight") + ) { + let span; + + const closestNode = parent.closest("body, svg, foreignObject"); + const isInSVG = closestNode && closestNode.matches("svg"); + if (isInSVG) { + span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); + } else { + span = document.createElement("span"); + span.classList.add(className); + } + + span.appendChild(document.createTextNode(val.substr(pos, text.length))); + const rest = document.createTextNode(val.substr(pos + text.length)); + parent.insertBefore( + span, + parent.insertBefore( + rest, + node.nextSibling + ) + ); + node.nodeValue = val.substr(0, pos); + /* There may be more occurrences of search term in this node. So call this + * function recursively on the remaining fragment. + */ + _highlight(rest, addItems, text, className); + + if (isInSVG) { + const rect = document.createElementNS( + "http://www.w3.org/2000/svg", + "rect" + ); + const bbox = parent.getBBox(); + rect.x.baseVal.value = bbox.x; + rect.y.baseVal.value = bbox.y; + rect.width.baseVal.value = bbox.width; + rect.height.baseVal.value = bbox.height; + rect.setAttribute("class", className); + addItems.push({ parent: parent, target: rect }); + } + } + } else if (node.matches && !node.matches("button, select, textarea")) { + node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); + } +}; +const _highlightText = (thisNode, text, className) => { + let addItems = []; + _highlight(thisNode, addItems, text, className); + addItems.forEach((obj) => + obj.parent.insertAdjacentElement("beforebegin", obj.target) + ); +}; + +/** + * Small JavaScript module for the documentation. + */ +const SphinxHighlight = { + + /** + * highlight the search words provided in localstorage in the text + */ + highlightSearchWords: () => { + if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight + + // get and clear terms from localstorage + const url = new URL(window.location); + const highlight = + localStorage.getItem("sphinx_highlight_terms") + || url.searchParams.get("highlight") + || ""; + localStorage.removeItem("sphinx_highlight_terms") + url.searchParams.delete("highlight"); + window.history.replaceState({}, "", url); + + // get individual terms from highlight string + const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); + if (terms.length === 0) return; // nothing to do + + // There should never be more than one element matching "div.body" + const divBody = document.querySelectorAll("div.body"); + const body = divBody.length ? divBody[0] : document.querySelector("body"); + window.setTimeout(() => { + terms.forEach((term) => _highlightText(body, term, "highlighted")); + }, 10); + + const searchBox = document.getElementById("searchbox"); + if (searchBox === null) return; + searchBox.appendChild( + document + .createRange() + .createContextualFragment( + '" + ) + ); + }, + + /** + * helper function to hide the search marks again + */ + hideSearchWords: () => { + document + .querySelectorAll("#searchbox .highlight-link") + .forEach((el) => el.remove()); + document + .querySelectorAll("span.highlighted") + .forEach((el) => el.classList.remove("highlighted")); + localStorage.removeItem("sphinx_highlight_terms") + }, + + initEscapeListener: () => { + // only install a listener if it is really needed + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; + if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { + SphinxHighlight.hideSearchWords(); + event.preventDefault(); + } + }); + }, +}; + +_ready(() => { + /* Do not call highlightSearchWords() when we are on the search page. + * It will highlight words from the *previous* search query. + */ + if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords(); + SphinxHighlight.initEscapeListener(); +}); diff --git a/manual/v1.0.0/ja/html/_static/task_view.pdf b/manual/v1.0.0/ja/html/_static/task_view.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3af0603384a6eebc6fef11d78d24f355f28bbb8e GIT binary patch literal 15909 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 |(DSUynnzm?t0Of>N8vIx?V>-cdU%jQ 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
3pUM36#d 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

OP`N39IYrAZb69}zdnT)X!AU85fH1DD!7Zw*U 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 %(sphinx_version)s.": "", + "Expand sidebar": "\u30b5\u30a4\u30c9\u30d0\u30fc\u3092\u5c55\u958b", + "Full index on one page": "\u7dcf\u7d22\u5f15", + "General Index": "\u7dcf\u5408\u7d22\u5f15", + "Global Module Index": "\u30e2\u30b8\u30e5\u30fc\u30eb\u7dcf\u7d22\u5f15", + "Go": "\u691c\u7d22", + "Hide Search Matches": "\u691c\u7d22\u7d50\u679c\u3092\u96a0\u3059", + "Index": "\u7d22\u5f15", + "Index – %(key)s": "\u7d22\u5f15 – %(key)s", + "Index pages by letter": "\u982d\u6587\u5b57\u5225\u7d22\u5f15", + "Indices and tables:": "\u7d22\u5f15\u3068\u8868\u4e00\u89a7:", + "Last updated on %(last_updated)s.": "\u6700\u7d42\u66f4\u65b0: %(last_updated)s", + "Library changes": "\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u95a2\u3059\u308b\u5909\u66f4", + "Navigation": "\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3", + "Next topic": "\u6b21\u306e\u30c8\u30d4\u30c3\u30af\u3078", + "Other changes": "\u305d\u306e\u4ed6\u306e\u5909\u66f4", + "Overview": "\u6982\u8981", + "Please activate JavaScript to enable the search\n functionality.": "\u691c\u7d22\u6a5f\u80fd\u3092\u4f7f\u3046\u306b\u306f JavaScript \u3092\u6709\u52b9\u306b\u3057\u3066\u304f\u3060\u3055\u3044\u3002", + "Preparing search...": "\u691c\u7d22\u3092\u6e96\u5099\u3057\u3066\u3044\u307e\u3059...", + "Previous topic": "\u524d\u306e\u30c8\u30d4\u30c3\u30af\u3078", + "Quick search": "\u30af\u30a4\u30c3\u30af\u691c\u7d22", + "Search": "\u691c\u7d22", + "Search Page": "\u691c\u7d22\u30da\u30fc\u30b8", + "Search Results": "\u691c\u7d22\u7d50\u679c", + "Search finished, found ${resultCount} page(s) matching the search query.": "", + "Search within %(docstitle)s": "%(docstitle)s \u5185\u3092\u691c\u7d22", + "Searching": "\u691c\u7d22\u4e2d", + "Searching for multiple words only shows matches that contain\n all words.": "\u8907\u6570\u306e\u5358\u8a9e\u3092\u691c\u7d22\u3059\u308b\u3068\u3001\u6b21\u3092\u542b\u3080\u4e00\u81f4\u306e\u307f\u304c\u8868\u793a\u3055\u308c\u307e\u3059\n \u00a0\u00a0\u00a0 \u3059\u3079\u3066\u306e\u7528\u8a9e\u3002", + "Show Source": "\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u8868\u793a", + "Table of Contents": "\u76ee\u6b21", + "This Page": "\u3053\u306e\u30da\u30fc\u30b8", + "Welcome! This is": "Welcome! This is", + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories.": "\u691c\u7d22\u3057\u305f\u6587\u5b57\u5217\u306f\u3069\u306e\u6587\u66f8\u306b\u3082\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u3059\u3079\u3066\u306e\u5358\u8a9e\u304c\u6b63\u78ba\u306b\u8a18\u8ff0\u3055\u308c\u3066\u3044\u308b\u304b\u3001\u3042\u308b\u3044\u306f\u3001\u5341\u5206\u306a\u30ab\u30c6\u30b4\u30ea\u30fc\u304c\u9078\u629e\u3055\u308c\u3066\u3044\u308b\u304b\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002", + "all functions, classes, terms": "\u95a2\u6570\u3001\u30af\u30e9\u30b9\u304a\u3088\u3073\u7528\u8a9e\u7dcf\u89a7", + "can be huge": "\u5927\u304d\u3044\u5834\u5408\u304c\u3042\u308b\u306e\u3067\u6ce8\u610f", + "last updated": "\u6700\u7d42\u66f4\u65b0", + "lists all sections and subsections": "\u7ae0\uff0f\u7bc0\u4e00\u89a7", + "next chapter": "\u6b21\u306e\u7ae0\u3078", + "previous chapter": "\u524d\u306e\u7ae0\u3078", + "quick access to all modules": "\u5168\u30e2\u30b8\u30e5\u30fc\u30eb\u65e9\u898b\u8868", + "search": "\u691c\u7d22", + "search this documentation": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u691c\u7d22", + "the documentation for": "the documentation for" + }, + "plural_expr": "0" +}); \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/genindex.html b/manual/v1.0.0/ja/html/genindex.html new file mode 100644 index 0000000..802a9e2 --- /dev/null +++ b/manual/v1.0.0/ja/html/genindex.html @@ -0,0 +1,105 @@ + + + + + + + 索引 — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ + +

索引

+ +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/index.html b/manual/v1.0.0/ja/html/index.html new file mode 100644 index 0000000..28afb83 --- /dev/null +++ b/manual/v1.0.0/ja/html/index.html @@ -0,0 +1,122 @@ + + + + + + + + Moller Users Guide — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/about/index.html b/manual/v1.0.0/ja/html/moller/about/index.html new file mode 100644 index 0000000..fe37809 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/about/index.html @@ -0,0 +1,176 @@ + + + + + + + + 1. æ¦‚è¦ — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

1. 概è¦Â¶

+
+

1.1. mollerã¨ã¯?¶

+

è¿‘å¹´ã€æ©Ÿæ¢°å­¦ç¿’を活用ã—ãŸç‰©æ€§äºˆæ¸¬ã‚„物質設計(マテリアルズインフォマティクス)ãŒæ³¨ç›®ã•ã‚Œã¦ã„ã¾ã™ã€‚ +機械学習ã®ç²¾åº¦ã¯ã€é©åˆ‡ãªæ•™å¸«ãƒ‡ãƒ¼ã‚¿ã®æº–å‚™ã«å¤§ããä¾å­˜ã—ã¦ã„ã¾ã™ã€‚ +ãã®ãŸã‚ã€è¿…速ã«æ•™å¸«ãƒ‡ãƒ¼ã‚¿ã‚’生æˆã™ã‚‹ãŸã‚ã®ãƒ„ールや環境ã®æ•´å‚™ã¯ã€ +マテリアルズインフォマティクスã®ç ”究進展ã«å¤§ãã貢献ã™ã‚‹ã¨æœŸå¾…ã•ã‚Œã¾ã™ã€‚

+

mollerã¯ã€ãƒã‚¤ã‚¹ãƒ«ãƒ¼ãƒ—ット計算を支æ´ã™ã‚‹ãŸã‚ã®ãƒ‘ッケージHTP-Toolsã®ä¸€ã¤ã¨ã—ã¦æä¾›ã—ã¦ã„ã¾ã™ã€‚ +mollerã§ã¯ã‚¹ãƒ¼ãƒ‘ーコンピュータやクラスタå‘ã‘ã«ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ãƒ„ールã§ã‚り〠+多é‡å®Ÿè¡Œã®æ©Ÿèƒ½ã‚’利用ã—ã€ãƒ‘ラメータ並列ãªã©ä¸€é€£ã®è¨ˆç®—æ¡ä»¶ã«ã¤ã„ã¦ä¸¦åˆ—ã«ãƒ—ログラムを実行ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +ç¾çŠ¶ã§ã¯ã€æ±äº¬å¤§å­¦ 物性研究所ã®æä¾›ã™ã‚‹ã‚¹ãƒ¼ãƒ‘ーコンピュータ ohtaka (slurmジョブスケジューラ) 㨠kugui (PBSジョブスケジューラ)ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚

+
+
+

1.2. ライセンス¶

+

本ソフトウェアã®ãƒ—ログラムパッケージãŠã‚ˆã³ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ä¸€å¼ã¯GNU General Public License version 3 (GPL v3) ã«æº–ã˜ã¦é…布ã•ã‚Œã¦ã„ã¾ã™ã€‚

+
+
+

1.3. 開発貢献者¶

+

本ソフトウェアã¯ä»¥ä¸‹ã®é–‹ç™ºè²¢çŒ®è€…ã«ã‚ˆã‚Šé–‹ç™ºã•ã‚Œã¦ã„ã¾ã™ã€‚

+
    +
  • ver.1.0.0 (2024/03/06リリース)

  • +
  • ver.1.0-beta (2023/12/28リリース)

    +
      +
    • 開発者

      +
        +
      • å‰è¦‹ 一慶 (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      • é’å±± é¾ç¾Ž (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      • 本山 裕一 (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      • ç¦ç”° 将大 (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      • 井戸 康太 (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      • ç¦å³¶ 鉄也 (産業技術ç·åˆç ”究所)

      • +
      • ç¬ æ¾ ç§€è¼” (山形大学 学術研究院(ç†å­¦éƒ¨ä¸»æ‹…当))

      • +
      • 是常 隆  (æ±åŒ—大学大学院ç†å­¦ç ”究科)

      • +
      +
    • +
    • プロジェクトコーディãƒãƒ¼ã‚¿ãƒ¼

      +
        +
      • 尾崎 泰助 (æ±äº¬å¤§å­¦ 物性研究所)

      • +
      +
    • +
    +
  • +
+
+
+

1.4. コピーライト¶

+

© 2023- The University of Tokyo. All rights reserved.

+

本ソフトウェアã¯2023年度 æ±äº¬å¤§å­¦ç‰©æ€§ç ”究所 ソフトウェア高度化プロジェクトã®æ”¯æ´ã‚’å—ã‘開発ã•ã‚Œã¦ãŠã‚Šã€ãã®è‘—作権ã¯æ±äº¬å¤§å­¦ãŒæ‰€æŒã—ã¦ã„ã¾ã™ã€‚

+
+
+

1.5. 動作環境¶

+

以下ã®ç’°å¢ƒã§å‹•ä½œã™ã‚‹ã“ã¨ã‚’確èªã—ã¦ã„ã¾ã™ã€‚

+
    +
  • Ubuntu Linux + python3

  • +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/appendix/index.html b/manual/v1.0.0/ja/html/moller/appendix/index.html new file mode 100644 index 0000000..5651561 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/appendix/index.html @@ -0,0 +1,313 @@ + + + + + + + + 6. 拡張ガイド — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

6. 拡張ガイド¶

+

(註: 以下ã®å†…容㯠moller ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚ˆã£ã¦å¤‰ã‚ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚)

+
+

6.1. mollerã«ã‚ˆã‚‹ãƒãƒ«ã‚¯å®Ÿè¡ŒÂ¶

+

ãƒãƒ«ã‚¯å®Ÿè¡Œã¨ã¯ã€å¤§åž‹ã®ãƒãƒƒãƒã‚­ãƒ¥ãƒ¼ã«æŠ•å…¥ã—ãŸä¸€ã¤ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ä¸­ã§ã€è¤‡æ•°ã®å°ã•ã„タスクを並行ã—ã¦å®Ÿè¡Œã™ã‚‹ã¨ã„ã†ã‚‚ã®ã§ã™ã€‚動作ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã¨ã—ã¦ã¯ã€æ¬¡ã®ã‚ˆã†ã«N個ã®ã‚¿ã‚¹ã‚¯ã‚’ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§å®Ÿè¡Œã—åŒæ™‚ã«å‡¦ç†ã•ã›ã€waitæ–‡ã«ã‚ˆã‚Šã™ã¹ã¦ã®ã‚¿ã‚¹ã‚¯ãŒçµ‚了ã™ã‚‹ã¾ã§å¾…ã¡ã¾ã™ã€‚

+
task param_1 &
+task param_2 &
+     ...
+task param_N &
+wait
+
+
+

ã“ã®ã¨ãã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸãƒŽãƒ¼ãƒ‰ãƒ»ã‚³ã‚¢ã‚’é©å®œåˆ†é…ã—ã€param_1〜param_N ã®ã‚¿ã‚¹ã‚¯ãŒãã‚Œãžã‚Œåˆ¥ã®ãƒŽãƒ¼ãƒ‰ãƒ»ã‚³ã‚¢ã§å®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†ã«é…ç½®ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ã¾ãŸã€å¤šæ•°ã®ã‚¿ã‚¹ã‚¯ãŒã‚る時ã«ã€å‰²å½“ã¦ãƒªã‚½ãƒ¼ã‚¹ã«å¿œã˜ã¦æœ€å¤§N個ã®ã‚¿ã‚¹ã‚¯ãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‚ˆã†å®Ÿè¡Œã‚’調整ã™ã‚‹ã“ã¨ã‚‚å¿…è¦ã§ã™ã€‚

+

moller ã§ç”Ÿæˆã—ãŸã‚¸ãƒ§ãƒ–スクリプトを以下ã§ã¯ moller scriptã¨å‘¼ã¶ã“ã¨ã«ã—ã¾ã™ã€‚ +moller script ã§ã¯ã€ã‚¿ã‚¹ã‚¯ã®ä¸¦è¡Œå®Ÿè¡Œã¨åˆ¶å¾¡ã«ã¯ GNU parallel [1]を利用ã—ã¾ã™ã€‚GNU parallel 㯠param_1〜param_N ã®ãƒªã‚¹ãƒˆã‚’å—å–ã‚Šã€ã“れらを引数ã¨ã—ã¦ã‚³ãƒžãƒ³ãƒ‰ã‚’並行ã—ã¦å®Ÿè¡Œã™ã‚‹ãƒ„ールã§ã™ã€‚ +以下㯠GNU parllel を使ã£ãŸå®Ÿè¡Œã‚¤ãƒ¡ãƒ¼ã‚¸ã§ã€list.dat ã®å„行㫠param_1〜param_N を列挙ã—ã¦ãŠãã¾ã™ã€‚

+
cat list.dat | parallel -j N task
+
+
+

åŒæ™‚実行数ã«ã¤ã„ã¦ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã«å‰²å½“ã¦ã‚‰ã‚ŒãŸãƒŽãƒ¼ãƒ‰æ•°ãƒ»ã‚³ã‚¢æ•°ã‚’実行時ã«ç’°å¢ƒå¤‰æ•°ç­‰ã‹ã‚‰å–å¾—ã—ã€å„タスクã®ä¸¦åˆ—度(ノード数・プロセス数・スレッド数)ã®æŒ‡å®š(nodeパラメータ)ã‚’å…ƒã«è¨ˆç®—ã—ã¾ã™ã€‚

+

ノード・コアã¸ã®ã‚¿ã‚¹ã‚¯ã®é…ç½®ã«ã¤ã„ã¦ã¯ã‚¸ãƒ§ãƒ–スケジューラã«ã‚ˆã£ã¦æ–¹æ³•ãŒç•°ãªã‚Šã¾ã™ã€‚SLURMç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯ã€ãƒªã‚½ãƒ¼ã‚¹ã®æŽ’他利用ã®ã‚ªãƒ—ションを使ã†ã“ã¨ã§ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内部ã§ç™ºè¡Œã•ã‚ŒãŸè¤‡æ•°ã® srun をジョブスケジューラãŒé©å®œé…ç½®ã—ã¦å®Ÿè¡Œã—ã¾ã™ã€‚具体的ãªæŒ‡å®šæ–¹æ³•ã¯ãƒ—ラットフォームã®è¨­å®šã«ä¾å­˜ã—ã¾ã™ã€‚

+

一方ã€PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã¯ãã®ã‚ˆã†ãªä»•çµ„ã¿ãŒãªãã€ãƒªã‚½ãƒ¼ã‚¹ã®é…分をmoller script内部ã§å‡¦ç†ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚moller scriptã§ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸè¨ˆç®—ノードã¨ã‚³ã‚¢ã‚’スロットã«åˆ†å‰²ã—ã€GNU parallel ã§ä¸¦è¡Œå‡¦ç†ã•ã‚Œã‚‹ã‚¿ã‚¹ã‚¯ã«åˆ†é…ã—ã¾ã™ã€‚スロットã¸ã®åˆ†å‰²ã¯ã€å®Ÿè¡Œæ™‚ã«å–å¾—ã•ã‚Œã‚‹å‰²å½“ã¦ãƒŽãƒ¼ãƒ‰ãƒ»ã‚³ã‚¢ã¨ã‚¿ã‚¹ã‚¯ã®ä¸¦åˆ—度指定ã‹ã‚‰è¨ˆç®—ã—ã€ãƒ†ãƒ¼ãƒ–ルã®å½¢ã§ä¿æŒã—ã¾ã™ã€‚タスク内部ã§ã¯ã€mpirun (mpiexec) ã®å¼•æ•°ã‚„環境変数を通ã˜ã¦è¨ˆç®—ノードã®æŒ‡å®šã¨å‰²å½“コアã®ãƒ”ン留ã‚ã‚’è¡Œã„プログラムを実行ã—ã¾ã™ã€‚ã“ã®å‡¦ç†ã¯ä½¿ç”¨ã™ã‚‹MPI実装ã«ä¾å­˜ã—ã¾ã™ã€‚

+

å‚考文献

+

[1] O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

+
+
+

6.2. mollerã®å‹•ä½œã«ã¤ã„ã¦Â¶

+
+

mollerã§ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—トã®æ§‹æˆÂ¶

+

mollerã¯ã€å…¥åŠ›ã•ã‚ŒãŸYAMLファイルã®å†…容をもã¨ã«ã€ãƒãƒ«ã‚¯å®Ÿè¡Œã®ãŸã‚ã®ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—ã¾ã™ã€‚生æˆã•ã‚Œã‚‹ã‚¸ãƒ§ãƒ–スクリプトã¯å…ˆé ­ã‹ã‚‰é †ã«æ¬¡ã®ã‚ˆã†ãªæ§‹æˆã«ãªã£ã¦ã„ã¾ã™ã€‚

+
    +
  1. ヘッダ

    +

    ジョブスケジューラã¸ã®æŒ‡ç¤ºãŒè¨˜è¿°ã•ã‚Œã¾ã™ã€‚platform セクションã«æŒ‡å®šã—ãŸå†…容ãŒã€ã‚¸ãƒ§ãƒ–スケジューラã®ç¨®é¡žã«å¿œã˜ãŸå½¢å¼ã«æ•´å½¢ã•ã‚Œã¦å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ã“ã®å‡¦ç†ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚

    +
  2. +
  3. プロローグ

    +

    prologue セクションã«æŒ‡å®šã—ãŸå†…容ã§ã™ã€‚code ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚

    +
  4. +
  5. 関数ã®å®šç¾©

    +

    ジョブスクリプト内部ã§ä½¿ã†é–¢æ•°ãŠã‚ˆã³å¤‰æ•°ã®å®šç¾©ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚関数ã®æ¦‚è¦ã«ã¤ã„ã¦ã¯æ¬¡ç¯€ã§èª¬æ˜Žã—ã¾ã™ã€‚ã“ã®ç®‡æ‰€ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚

    +
  6. +
  7. コマンドライン引数ã®å‡¦ç†

    +

    SLURMç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã®æŒ‡å®šã‚„タスクã®å†å®Ÿè¡Œãªã©ã®ã‚ªãƒ—ション指定を sbatch コマンドã®å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚

    +

    PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯å¼•æ•°ã®æŒ‡å®šã¯ç„¡è¦–ã•ã‚Œã‚‹ãŸã‚ã€ã‚ªãƒ—ション指定ã¯ã‚¸ãƒ§ãƒ–スクリプトを編集ã—ã¦ãƒ‘ラメータをセットã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚リストファイルã®ãƒ•ã‚¡ã‚¤ãƒ«åã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ list.dat ã§ã™ã€‚ã¾ãŸã€ã‚¿ã‚¹ã‚¯ã®ãƒªãƒˆãƒ©ã‚¤ã‚’è¡Œã†ã«ã¯ retry 変数を 1 ã«ã‚»ãƒƒãƒˆã—ã¾ã™ã€‚

    +
  8. +
  9. タスクã®è¨˜è¿°

    +

    jobs セクションã«è¨˜è¿°ã•ã‚Œã‚‹ã‚¿ã‚¹ã‚¯ã®å†…容を出力ã—ã¾ã™ã€‚タスクãŒè¤‡æ•°ã‚ã‚‹å ´åˆã¯ã‚¿ã‚¹ã‚¯ã”ã¨ã«ä»¥ä¸‹ã®å‡¦ç†ã‚’実行ã—ã¾ã™ã€‚

    +
    +

    parallel = false ã®å ´åˆã¯ run ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚

    +

    parallel = true (デフォルト) ã®å ´åˆã€task_タスクå ã¨ã„ã†é–¢æ•°ãŒç”Ÿæˆã•ã‚Œã€ä¸¦åˆ—実行ã®ãŸã‚ã®å‰å‡¦ç†ã¨ run ブロックã®å†…容ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚並列計算ã®ãŸã‚ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(srun 〠mpiexec ã¾ãŸã¯ mpirun)ã¯ãƒ—ラットフォームã«å¿œã˜ãŸã‚³ãƒžãƒ³ãƒ‰ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚関数定義ã«ç¶šã„ã¦ä¸¦åˆ—実行ã®ã‚³ãƒžãƒ³ãƒ‰ãŒæ›¸ã出ã•ã‚Œã¾ã™ã€‚

    +
    +
  10. +
  11. エピローグ

    +

    epilogue セクションã«æŒ‡å®šã—ãŸå†…容ã§ã™ã€‚code ブロックã®ä¸­èº«ãŒãã®ã¾ã¾è»¢è¨˜ã•ã‚Œã¾ã™ã€‚

    +
  12. +
+
+
+

moller scriptã®é–¢æ•°ã®æ¦‚è¦Â¶

+

moller script ã®å†…部ã§ä½¿ç”¨ã™ã‚‹ä¸»ãªé–¢æ•°ã®æ¦‚è¦ã‚’以下ã«èª¬æ˜Žã—ã¾ã™ã€‚

+
    +
  • run_parallel

    +

    タスクã®å†…容を記述ã—ãŸé–¢æ•°(タスク関数)を並行実行ã™ã‚‹é–¢æ•°ã§ã™ã€‚並列度ã€ã‚¿ã‚¹ã‚¯é–¢æ•°ã€ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«åを引数ã«å–ã‚Šã¾ã™ã€‚内部ã§ã¯ _find_multiplicity 関数を呼んã§å¤šé‡åº¦ã‚’計算ã—ã€GNU parallel ã‚’èµ·å‹•ã—ã¦ã‚¿ã‚¹ã‚¯ã‚’並行実行ã—ã¾ã™ã€‚GNU parallel ã®å¤šæ®µå‡¦ç†ã«å¯¾å¿œã™ã‚‹ãŸã‚ã«ã€ã‚¿ã‚¹ã‚¯é–¢æ•°ã¯ _run_parallel_task 関数ã§ãƒ©ãƒƒãƒ—ã•ã‚Œã¾ã™ã€‚

    +

    プラットフォームä¾å­˜æ€§ã¯ _find_multiplicity ãŠã‚ˆã³ _setup_run_parallel 関数ã¨ã—ã¦ããり出ã—ã¦ã„ã¾ã™ã€‚

    +
  • +
  • _find_multiplicity

    +

    並列実行ã®å¤šé‡åº¦ã‚’ã€å‰²å½“ã¦ãƒªã‚½ãƒ¼ã‚¹(ノード数・コア数)ã¨ã‚¿ã‚¹ã‚¯ã®ä¸¦åˆ—度指定ã‹ã‚‰è¨ˆç®—ã—ã¾ã™ã€‚PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラã§ã¯ã€ã•ã‚‰ã«è¨ˆç®—ノード・コアをスロットã«åˆ†å‰²ã—ã€ãƒ†ãƒ¼ãƒ–ルã§ä¿æŒã—ã¾ã™ã€‚ +実行時ã«ç’°å¢ƒã‹ã‚‰å–å¾—ã™ã‚‹æƒ…å ±ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

    +
      +
    • SLURMç³»

      +
      +
      +
      割当ã¦ãƒŽãƒ¼ãƒ‰æ•° _nnodes

      SLURM_NNODES

      +
      +
      割当ã¦ã‚³ã‚¢æ•° _ncores

      SLURM_CPUS_ON_NODE

      +
      +
      +
      +
    • +
    • PBSç³»

      +
      +
      +
      割当ã¦ãƒŽãƒ¼ãƒ‰ _nodes[]

      PBS_NODEFILE ã§æŒ‡å®šã•ã‚Œã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰è¨ˆç®—ノードã®ãƒªã‚¹ãƒˆã‚’å–å¾—

      +
      +
      ノード数 _nnodes

      _nodes[] ã®é …目数

      +
      +
      割当ã¦ã‚³ã‚¢æ•° _ncores
      +
      以下ã®é †ã«æ¤œç´¢ã•ã‚Œã¾ã™ã€‚
        +
      • NCPUS (PBS Professional)

      • +
      • OMP_NUM_THREADS

      • +
      • platform セクション㮠core 指定(スクリプト中㫠moller_core変数ã¨ã—ã¦æ›¸ãè¾¼ã¾ã‚Œã‚‹)

      • +
      • ヘッダ㮠ncpus ã¾ãŸã¯ ppn パラメータ

      • +
      +
      +
      +
      +
      +
      +
    • +
    +
  • +
  • _setup_run_parallel

    +

    GNU parallel ã«ã‚ˆã‚‹ä¸¦è¡Œå®Ÿè¡Œã‚’開始ã™ã‚‹å‰ã«ã„ãã¤ã‹å‡¦ç†ã‚’追加ã™ã‚‹ãŸã‚ã«å‘¼ã°ã‚Œã¾ã™ã€‚PBSç³»ã§ã¯ã‚¹ãƒ­ãƒƒãƒˆã«åˆ†å‰²ã•ã‚ŒãŸãƒŽãƒ¼ãƒ‰ãƒ»ã‚³ã‚¢ã®ãƒ†ãƒ¼ãƒ–ルをタスク関数ã‹ã‚‰å‚ç…§ã§ãるよㆠexport ã—ã¾ã™ã€‚SLURMç³»ã§ã¯å®Ÿè¡Œã™ã‚‹å†…容ã¯ã‚ã‚Šã¾ã›ã‚“。

    +
  • +
+

å„タスクã«å¯¾å¿œã™ã‚‹ã‚¿ã‚¹ã‚¯é–¢æ•°ã®æ§‹æˆã«ã¤ã„ã¦ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚

+
    +
  • タスク関数ã®å¼•æ•°ã¯ 1) 並列度指定(ノード数・プロセス数・スレッド数) 2) 実行ディレクトリ 3) GNU parallel ã®ã‚¹ãƒ­ãƒƒãƒˆID ã§ã™ã€‚

  • +
  • _setup_taskenv ã§å®Ÿè¡Œç’°å¢ƒã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚ã“ã®é–¢æ•°ã¯ãƒ—ラットフォームä¾å­˜ã§ã™ã€‚PBSç³»ã§ã¯ã‚¹ãƒ­ãƒƒãƒˆIDã«åŸºã¥ã„ã¦è¨ˆç®—ノード・コアをテーブルã‹ã‚‰å–å¾—ã—ã¾ã™ã€‚SLURMç³»ã§ã¯å®Ÿè¡Œã™ã‚‹å†…容ã¯ã‚ã‚Šã¾ã›ã‚“。

  • +
  • ç›´å‰ã«å®Ÿè¡Œã™ã‚‹ã‚¿ã‚¹ã‚¯ãŒæ­£å¸¸çµ‚了ã—ãŸã‹ã©ã†ã‹ã‚’ _is_ready 関数を呼んã§ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚正常終了ã—ã¦ã„ã‚‹å ´åˆã¯ã‚¿ã‚¹ã‚¯ã®å‡¦ç†ã‚’継続ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ -1 ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹ã§ã‚¿ã‚¹ã‚¯ã®å‡¦ç†ã‚’中断ã—ã¾ã™ã€‚

  • +
  • code ブロックã®å†…容を転記ã—ã¾ã™ã€‚ãã®éš›ã«ã€ä¸¦åˆ—計算ã®ãŸã‚ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰(srun 〠mpiexec ã¾ãŸã¯ mpirun)ã¯ãƒ—ラットフォームã«å¿œã˜ãŸã‚³ãƒžãƒ³ãƒ‰ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚

  • +
+
+
+
+

6.3. mollerã‚’ä»–ã®ã‚·ã‚¹ãƒ†ãƒ ã§ä½¿ã†ã«ã¯Â¶

+

mollerã«ã¯ç¾åœ¨ã€ç‰©æ€§ç ”スーパーコンピュータシステム ohtaka ãŠã‚ˆã³ kugui å‘ã‘ã®è¨­å®šãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚mollerã‚’ä»–ã®ã‚·ã‚¹ãƒ†ãƒ ã§ä½¿ã†ãŸã‚ã®æ‹¡å¼µã‚¬ã‚¤ãƒ‰ã‚’以下ã§èª¬æ˜Žã—ã¾ã™ã€‚

+
+

クラス構æˆÂ¶

+

mollerã®æ§‹æˆã®ã†ã¡ãƒ—ラットフォームä¾å­˜ã®éƒ¨åˆ†ã¯ platform/ ディレクトリã«ã¾ã¨ã‚ã¦ã„ã¾ã™ã€‚ +クラス構æˆã¯æ¬¡ã®ã¨ãŠã‚Šã§ã™ã€‚

+
digraph class_diagram {
+size="5,5"
+node[shape=record,style=filled,fillcolor=gray95]
+edge[dir=back,arrowtail=empty]
+
+Platform[label="{Platform (base.py)}"]
+BaseSlurm[label="{BaseSlurm (base_slurm.py)}"]
+BasePBS[label="{BasePBS (base_pbs.py)}"]
+BaseDefault[label="{BaseDefault (base_default.py)}"]
+
+Ohtaka[label="{Ohtaka (ohtaka.py)}"]
+Kugui[label="{Kugui (kugui.py)}"]
+Pbs[label="{Pbs (pbs.py)}"]
+Default[label="{DefaultPlatform (default.py)}"]
+
+Platform->BaseSlurm
+Platform->BasePBS
+Platform->BaseDefault
+
+BaseSlurm->Ohtaka
+BasePBS->Kugui
+BasePBS->Pbs
+BaseDefault->Default
+}
+

プラットフォームã®é¸æŠžã«ã¤ã„ã¦ã¯ãƒ•ã‚¡ã‚¯ãƒˆãƒªãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚register_platform(登録å, クラスå) ã§ã‚¯ãƒ©ã‚¹ã‚’ファクトリã«ç™»éŒ²ã—〠platform/__init__.py ã«ã‚¯ãƒ©ã‚¹ã‚’ import ã—ã¦ãŠãã¨ã€å…¥åŠ›ãƒ‘ラメータファイル中㧠platform セクション㮠system パラメータã«æŒ‡å®šã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚

+
+
+

SLURM系ジョブスケジューラ¶

+

SLURMç³»ã®ã‚¸ãƒ§ãƒ–スケジューラを利用ã—ã¦ã„ã‚‹å ´åˆã€BaseSlurm クラスを元ã«ã‚·ã‚¹ãƒ†ãƒ å›ºæœ‰ã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚ +並列計算を実行ã™ã‚‹ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’ç½®ãæ›ãˆã‚‹æ–‡å­—列㯠parallel_command() メソッドã®æˆ»ã‚Šå€¤ã§ä¸Žãˆã¾ã™ã€‚リソースã®æŽ’他利用を行ã†ãŸã‚ã® srun ã®ãƒ‘ラメータをã“ã“ã«æŒ‡å®šã—ã¾ã™ã€‚ +具体例㯠ohtaka.py ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
+
+

PBS系ジョブスケジューラ¶

+

PBSç³»ã®ã‚¸ãƒ§ãƒ–スケジューラ (PBS Professional, OpenPBS, Torque ãªã©)を利用ã—ã¦ã„ã‚‹å ´åˆã€BasePBS クラスを元ã«ã‚·ã‚¹ãƒ†ãƒ å›ºæœ‰ã®è¨­å®šã‚’è¡Œã„ã¾ã™ã€‚

+

PBSç³»ã§ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ãƒŽãƒ¼ãƒ‰æ•°ã®æŒ‡å®šã®ä»•æ–¹ã«2通りã‚ã‚Šã€PBS Professional 㯠select=N:ncpus=n ã¨ã„ã†æ›¸å¼ã§æŒ‡å®šã—ã¾ã™ãŒã€Torque ãªã©ã¯ node=N:ppn=n ã¨è¨˜è¿°ã—ã¾ã™ã€‚後者ã®æŒ‡å®šã‚’用ã„ã‚‹å ´åˆã¯ self.pbs_use_old_format = True をセットã—ã¾ã™ã€‚

+

計算ノードã®ã‚³ã‚¢æ•°ã¯ node パラメータã§æŒ‡å®šã§ãã¾ã™ãŒã€å¯¾è±¡ã‚·ã‚¹ãƒ†ãƒ ã‚’é™å®šã—ã¦ã‚³ã‚¢æ•°ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’設定ã—ã¦ãŠãã“ã¨ã‚‚ã§ãã¾ã™ã€‚kugui.py ã§ã¯ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Š128コアを設定ã—ã¦ã„ã¾ã™ã€‚

+
+
+

ç´°ã‹ã„カスタマイズãŒå¿…è¦ãªå ´åˆÂ¶

+

基底クラスをå‚ç…§ã—ã¦å¿…è¦ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’å†å®šç¾©ã—ã¾ã™ã€‚メソッド構æˆã¯æ¬¡ã®ã‚ˆã†ã«ãªã£ã¦ã„ã¾ã™ã€‚

+
    +
  • setup

    +

    platform セクションã®ãƒ‘ラメータã®å–り出ã—ãªã©ã‚’è¡Œã„ã¾ã™ã€‚

    +
  • +
  • parallel_command

    +

    並列計算ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ (srun, mpiexec, mpirun) ã‚’ç½®ãæ›ãˆã‚‹æ–‡å­—列を返ã—ã¾ã™ã€‚

    +
  • +
  • generate_header

    +

    ジョブスケジューラオプションã®æŒ‡å®šã‚’記述ã—ãŸãƒ˜ãƒƒãƒ€ã‚’生æˆã—ã¾ã™ã€‚

    +
  • +
  • generate_function

    +

    moller script 内部ã§ä½¿ç”¨ã™ã‚‹é–¢æ•°ã®å®šç¾©ã‚’生æˆã—ã¾ã™ã€‚変数ãŠã‚ˆã³é–¢æ•°ã®å®Ÿä½“ã¯ãã‚Œãžã‚Œä»¥ä¸‹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ä½œã‚‰ã‚Œã¾ã™ã€‚

    +
      +
    • generate_variable

    • +
    • generate_function_body

    • +
    +

    ãã‚Œãžã‚Œã®é–¢æ•°ã¯åŸ‹ã‚è¾¼ã¿æ–‡å­—列ã¨ã—ã¦ã‚¯ãƒ©ã‚¹å†…ã§å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚

    +
  • +
+
+
+

æ–°ã—ã„タイプã®ã‚¸ãƒ§ãƒ–スケジューラã«å¯¾å¿œã•ã›ã‚‹ã«ã¯Â¶

+

moller scriptã®å‹•ä½œã®ã†ã¡ãƒ—ラットフォームä¾å­˜ãªç®‡æ‰€ã¯ã€ä¸¦è¡Œå®Ÿè¡Œã®å¤šé‡åº¦ã®è¨ˆç®—ã€ãƒªã‚½ãƒ¼ã‚¹é…ç½®ã«é–¢ã™ã‚‹éƒ¨åˆ†ã€ä¸¦åˆ—計算ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã™ã€‚

+
    +
  • 割当ã¦ãƒŽãƒ¼ãƒ‰ãƒ»ãƒŽãƒ¼ãƒ‰æ•°ãƒ»ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ã‚’実行時ã«ç’°å¢ƒå¤‰æ•°ç­‰ã‹ã‚‰å–å¾—ã™ã‚‹æ–¹æ³•

  • +
  • 並列計算を実行ã™ã‚‹ã‚³ãƒžãƒ³ãƒ‰ (mpiexecç­‰) ã¨ã€å®Ÿè¡Œãƒ›ã‚¹ãƒˆã‚„コア割当ã®æŒ‡å®šã®ã—ã‹ãŸ

  • +
+

ã“れらをもã¨ã«moller script内ã§ä½¿ã†é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚ +printenv コマンドã§ã‚¸ãƒ§ãƒ–スクリプト内ã§æœ‰åŠ¹ãªç’°å¢ƒå¤‰æ•°ã®ä¸€è¦§ã‚’å–å¾—ã§ãã¾ã™ã€‚

+
+
+

トラブルシューティング¶

+

moller script内㮠_debug 変数を 1 ã«ã‚»ãƒƒãƒˆã™ã‚‹ã¨ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–実行時ã«ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ãŒæ›¸ã出ã•ã‚Œã¾ã™ã€‚ã‚‚ã—ジョブãŒã†ã¾ã実行ã•ã‚Œãªã„ã¨ãã¯ã€ãƒ‡ãƒãƒƒã‚°å‡ºåŠ›ã‚’有効ã«ã—ã¦ã€å†…部パラメータãŒæ­£ã—ãセットã•ã‚Œã¦ã„ã‚‹ã‹ã‚’確èªã—ã¦ã¿ã¦ãã ã•ã„。

+
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/basic-usage.html b/manual/v1.0.0/ja/html/moller/basic-usage.html new file mode 100644 index 0000000..4ff9f74 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/basic-usage.html @@ -0,0 +1,260 @@ + + + + + + + + 2. インストールã¨åŸºæœ¬çš„ãªä½¿ã„æ–¹ — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

2. インストールã¨åŸºæœ¬çš„ãªä½¿ã„方¶

+

å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリ・環境

+
+

HTP-tools ã«å«ã¾ã‚Œã‚‹ç¶²ç¾…計算ツール moller を利用ã™ã‚‹ã«ã¯ã€ä»¥ä¸‹ã®ãƒ—ログラムã¨ãƒ©ã‚¤ãƒ–ラリãŒå¿…è¦ã§ã™ã€‚

+
    +
  • Python 3.x

  • +
  • ruamel.yaml モジュール

  • +
  • tabulate モジュール

  • +
  • GNU Parallel (ジョブスクリプトを実行ã™ã‚‹ã‚µãƒ¼ãƒãƒ»è¨ˆç®—ノード上ã«ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨)

  • +
+
+

ソースコードé…布サイト

+
+
+

ダウンロード方法

+
+

gitを利用ã§ãã‚‹å ´åˆã¯ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§mollerをダウンロードã§ãã¾ã™ã€‚

+
$ git clone https://github.com/issp-center-dev/Moller.git
+
+
+
+

インストール方法

+
+

mollerをダウンロード後ã€ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã‚’実行ã—ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã—ã¾ã™ã€‚mollerãŒåˆ©ç”¨ã™ã‚‹ãƒ©ã‚¤ãƒ–ラリも必è¦ã«å¿œã˜ã¦ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™ã€‚

+
$ cd ./Moller
+$ python3 -m pip install .
+
+
+

実行プログラム moller ãŠã‚ˆã³ moller_status ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¾ã™ã€‚

+
+

ディレクトリ構æˆ

+
+
.
+|-- LICENSE
+|-- README.md
+|-- pyproject.toml
+|-- docs/
+|   |-- ja/
+|   |-- en/
+|   |-- tutorial/
+|-- src/
+|   |-- moller/
+|       |-- __init__.py
+|       |-- main.py
+|       |-- platform/
+|       |   |-- __init__.py
+|       |   |-- base.py
+|       |   |-- base_slurm.py
+|       |   |-- base_pbs.py
+|       |   |-- base_default.py
+|       |   |-- ohtaka.py
+|       |   |-- kugui.py
+|       |   |-- pbs.py
+|       |   |-- default.py
+|       |   |-- function.py
+|       |   |-- utils.py
+|       |-- moller_status.py
+|-- sample/
+
+
+
+

基本的ãªä½¿ç”¨æ–¹æ³•

+

mollerã¯ã‚¹ãƒ¼ãƒ‘ーコンピュータå‘ã‘ã«ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ãƒ„ールã§ã™ã€‚多é‡å®Ÿè¡Œã®æ©Ÿèƒ½ã‚’利用ã—ã¦ã€ãƒ‘ラメータ並列ãªã©ä¸€é€£ã®è¨ˆç®—æ¡ä»¶ã«ã¤ã„ã¦ä¸¦åˆ—ã«ãƒ—ログラムを実行ã—ã¾ã™ã€‚

+
    +
  1. 構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã®ä½œæˆ

    +
    +

    mollerを使用ã™ã‚‹ã«ã¯ã€ã¾ãšã€è¨ˆç®—内容を記述ã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’YAMLå½¢å¼ã§ä½œæˆã—ã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ãƒ•ã‚¡ã‚¤ãƒ«ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

    +
    +
  2. +
  3. コマンドã®å®Ÿè¡Œ

    +
    +

    作æˆã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’入力ã¨ã—ã¦mollerプログラムを実行ã—ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚

    +
    $ moller -o job.sh input.yaml
    +
    +
    +
    +
  4. +
  5. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œ

    +
    +

    生æˆã•ã‚ŒãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã¨ãªã‚‹ã‚¹ãƒ¼ãƒ‘ーコンピュータシステムã«è»¢é€ã—ã¾ã™ã€‚ +並列実行ã™ã‚‹å„パラメータã”ã¨ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—〠list.dat ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªåを列挙ã—ã¾ã™ã€‚ +list.dat ã«ã¯ã€ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã®ç›¸å¯¾ãƒ‘スã¾ãŸã¯çµ¶å¯¾ãƒ‘スを記述ã—ã¾ã™ã€‚

    +

    リストファイルãŒç”¨æ„ã§ããŸã‚‰ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ +以下ã§ã¯ã€ç‰©æ€§ç ”システムB(ohtaka)ãŠã‚ˆã³ã‚·ã‚¹ãƒ†ãƒ C(kugui)ã§å®Ÿè¡Œã™ã‚‹ã‚±ãƒ¼ã‚¹ã‚’ãã‚Œãžã‚Œç¤ºã—ã¾ã™ã€‚

    +
      +
    • 物性研システムB(ohtaka)ã®å ´åˆ

      +

      ohtaka ã§ã¯ slurm ジョブスケジューラãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを引数ã¨ã—㦠sbatch コマンドを実行ã—ã¾ã™ã€‚ジョブスクリプトåã«ç¶šã‘ã¦ã‚¹ã‚¯ãƒªãƒ—トã®ãƒ‘ラメータを渡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚パラメータã¨ã—ã¦ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚

      +
      $ sbatch job.sh list.dat
      +
      +
      +

      リストファイルã®æŒ‡å®šãŒãªã„å ´åˆã¯ list.dat ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¨ã—ã¦ä½¿ã‚ã‚Œã¾ã™ã€‚

      +
    • +
    • 物性研システムC(kugui)ã®å ´åˆ

      +

      kugui ã§ã¯ PBS ジョブスケジューラãŒä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを引数ã¨ã—㦠qsub コマンドを実行ã—ã¾ã™ã€‚スクリプトã®ãƒ‘ラメータã®æŒ‡å®šã¯ã§ããªã„ã®ã§ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¯ list.dat ã¨ã—ã¦ç”¨æ„ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚

      +
      $ qsub job.sh
      +
      +
      +
    • +
    +
    +
  6. +
  7. çµæžœã®ç¢ºèª

    +
    +

    ãƒãƒƒãƒã‚¸ãƒ§ãƒ–終了後ã«ã€

    +
    $ moller_status input.yaml list.dat
    +
    +
    +

    を実行ã™ã‚‹ã¨ã€å„パラメータセットã«ã¤ã„ã¦è¨ˆç®—ãŒæ­£å¸¸ã«çµ‚了ã—ãŸã‹ã©ã†ã‹ã‚’集計ã—ãŸãƒ¬ãƒãƒ¼ãƒˆãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚

    +
    +
  8. +
  9. ジョブã®å†é–‹ãƒ»å†å®Ÿè¡Œ

    +
    +

    ジョブãŒé€”中ã§çµ‚ã‚ã£ãŸå ´åˆã€ç¶šã‘ã¦å®Ÿè¡Œã™ã‚‹ã«ã¯ã€åŒã˜ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¦ã‚‚ã†ä¸€åº¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚ +未実行(未完了をå«ã‚€)ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰å®Ÿè¡ŒãŒç¶™ç¶šã•ã‚Œã¾ã™ã€‚

    +
      +
    • 物性研システムB(ohtaka)ã®å ´åˆ

      +

      以下ã®ã‚ˆã†ã«ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—㦠sbatch コマンドを実行ã—ã¾ã™ã€‚

      +
      $ sbatch job.sh list.dat
      +
      +
      +

      エラーã§çµ‚了ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹ã«ã¯ã€--retry オプションを付ã‘ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚

      +
      $ sbatch job.sh --retry list.dat
      +
      +
      +
    • +
    • 物性研システムC(kugui)ã®å ´åˆ

      +

      job.sh を編集ã—㦠retry=0 ã®è¡Œã‚’ retry=1 ã«æ›¸ãæ›ãˆãŸå¾Œã€

      +
      $ qsub job.sh
      +
      +
      +

      を実行ã—ã¾ã™ã€‚

      +
    • +
    +
    +
  10. +
+

å‚考文献

+

[1] O. Tange, GNU Parallel - The command-Line Power Tool, ;login: The USENIX Magazine, February 2011:42-47.

+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/command/index.html b/manual/v1.0.0/ja/html/moller/command/index.html new file mode 100644 index 0000000..3ad70fd --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/command/index.html @@ -0,0 +1,208 @@ + + + + + + + + 4. コマンドリファレンス — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

4. コマンドリファレンス¶

+
+

4.1. moller¶

+
+

網羅計算ã®ãŸã‚ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹

+
+

書å¼:

+
+
moller [-o job_script] input_yaml
+
+
+
+

説明:

+
+

input_yaml ã«æŒ‡å®šã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’読ã¿è¾¼ã¿ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã—ã¾ã™ã€‚ +以下ã®ã‚ªãƒ—ションをå—ã‘付ã‘ã¾ã™ã€‚

+
    +
  • -o, --output job_script

    +

    出力先ã®ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«å†…ã® output_file パラメータより優先ã•ã‚Œã¾ã™ã€‚ファイルåã®æŒ‡å®šãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚

    +
  • +
  • -h

    +

    ヘルプを表示ã—ã¾ã™ã€‚

    +
  • +
+
+
+
+

4.2. moller_status¶

+
+

網羅計算ジョブã®å®Ÿè¡ŒçŠ¶æ³ã‚’レãƒãƒ¼ãƒˆã™ã‚‹

+
+

書å¼:

+
+
moller_status [-h] [--text|--csv|--html] [--ok|--failed|--skipped|--collapsed|--yet] [-o output_file] input_yaml [list_file]
+
+
+
+

説明:

+
+

mollerã§ç”Ÿæˆã—ãŸã‚¸ãƒ§ãƒ–スクリプトを実行ã—ãŸéš›ã«ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã®å„タスクãŒå®Œäº†ã—ãŸã‹ã©ã†ã‹ã‚’集計ã—ã¦ãƒ¬ãƒãƒ¼ãƒˆã‚’作æˆã—ã¾ã™ã€‚input_yaml ã«æŒ‡å®šã—ãŸæ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ã‚¿ã‚¹ã‚¯ã®å†…容を読ã¿è¾¼ã¿ã¾ã™ã€‚ジョブã®ãƒªã‚¹ãƒˆã¯ list_file ã«æŒ‡å®šã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰å–å¾—ã—ã¾ã™ã€‚list_file ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„ã¨ãã¯ã€å®Ÿè¡Œæ™‚ログファイルã‹ã‚‰åŽé›†ã—ã¾ã™ã€‚ +出力形å¼ã‚’オプションã§æŒ‡å®šã§ãã¾ã™ã€‚デフォルトã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã™ã€‚出力先を -o ã¾ãŸã¯ --output オプションã§æŒ‡å®šã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚

+
    +
  • 出力モード

    +

    出力形å¼ã‚’指定ã—ã¾ã™ã€‚以下ã®ã„ãšã‚Œã‹ã‚’指定ã§ãã¾ã™ã€‚複数åŒæ™‚ã«æŒ‡å®šã—ãŸå ´åˆã¯ã‚¨ãƒ©ãƒ¼ã«ãªã‚Šã¾ã™ã€‚デフォルトã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã™ã€‚

    +
      +
    • --text +テキスト形å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚

    • +
    • --csv +CSV (カンマ区切りテキスト) å½¢å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚

    • +
    • --html +HTMLå½¢å¼ã§å‡ºåŠ›ã—ã¾ã™ã€‚

    • +
    +
  • +
  • input_yaml

    +

    mollerã®æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚

    +
  • +
  • list_file

    +

    ジョブã®ãƒªã‚¹ãƒˆã‚’æ ¼ç´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‹ã‚‰å‡ºåŠ›ã•ã‚Œã‚‹ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« stat_{task}.dat ã‹ã‚‰åŽé›†ã—ã¾ã™ã€‚

    +
  • +
  • -o, --output output_file

    +

    出力先ã®ãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚

    +
  • +
  • フィルタ

    +

    出力内容を指定ã—ã¾ã™ã€‚以下ã®ã„ãšã‚Œã‹ã‚’指定ã§ãã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯å…¨ã¦ã®ã‚¸ãƒ§ãƒ–ã®æƒ…å ±ãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚

    +
      +
    • --ok +å…¨ã¦ã®ã‚¿ã‚¹ã‚¯ãŒå®Œäº†ã—ãŸã‚¸ãƒ§ãƒ–ã®ã¿ã‚’表示ã—ã¾ã™ã€‚

    • +
    • --failed +エラーã€ã‚¹ã‚­ãƒƒãƒ—ã¾ãŸã¯æœªå®Ÿè¡Œã®ã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚

    • +
    • --skipped +実行をスキップã—ãŸã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚

    • +
    • --yet +未実行ã®ã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚

    • +
    • --collapsed +エラー終了ã—ãŸã‚¿ã‚¹ã‚¯ãŒã‚るジョブを表示ã—ã¾ã™ã€‚

    • +
    • --all +å…¨ã¦ã®ã‚¸ãƒ§ãƒ–を表示ã—ã¾ã™ã€‚(デフォルト)

    • +
    +
  • +
  • -h

    +

    ヘルプを表示ã—ã¾ã™ã€‚

    +
  • +
+
+

ファイル:

+
+

mollerã§ç”Ÿæˆã—ãŸã‚¸ãƒ§ãƒ–スクリプトを用ã„ã¦ãƒ—ログラムを並列実行ã™ã‚‹ã¨ã€å®Ÿè¡ŒçŠ¶æ³ãŒãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ« stat_{task}.dat ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚moller_status ã¯ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’集計ã—ã€èª­ã¿ã‚„ã™ã„å½¢å¼ã«æ•´å½¢ã—ã¾ã™ã€‚

+
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/filespec/index.html b/manual/v1.0.0/ja/html/moller/filespec/index.html new file mode 100644 index 0000000..68bb8cb --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/filespec/index.html @@ -0,0 +1,253 @@ + + + + + + + + 5. ファイルフォーマット — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

5. ファイルフォーマット¶

+
+

5.1. 構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«Â¶

+

構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã€moller ã§ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹ãŸã‚ã®è¨­å®šæƒ…報を YAMLå½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚本ファイルã¯ä»¥ä¸‹ã®éƒ¨åˆ†ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™ã€‚

+
+
    +
  1. 全般的ãªè¨˜è¿°: ジョブåや出力ファイルåãªã©ã‚’設定ã—ã¾ã™ã€‚

  2. +
  3. platformセクション: ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚„ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã«é–¢ã™ã‚‹è¨­å®šã‚’記述ã—ã¾ã™ã€‚

  4. +
  5. prologue, epilogue セクション: ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内ã§è¡Œã†ç’°å¢ƒè¨­å®šã‚„終了処ç†ãªã©ã‚’記述ã—ã¾ã™ã€‚

  6. +
  7. jobsセクション: タスクを記述ã—ã¾ã™ã€‚

  8. +
+
+
+

全体¶

+
+

name

+
+

ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ã‚¸ãƒ§ãƒ–åを指定ã—ã¾ã™ã€‚指定ãŒãªã„å ´åˆã¯ç©ºæ¬„ã¨ãªã‚Šã¾ã™ã€‚(通常ã¯ã‚¸ãƒ§ãƒ–スクリプトã®ãƒ•ã‚¡ã‚¤ãƒ«åãŒã‚¸ãƒ§ãƒ–åã«ãªã‚Šã¾ã™)

+
+

description

+
+

ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®èª¬æ˜Žã‚’記述ã—ã¾ã™ã€‚コメントã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™

+
+

output_file

+
+

moller ã®å‡ºåŠ›å…ˆãƒ•ã‚¡ã‚¤ãƒ«åを指定ã—ã¾ã™ã€‚コマンドライン引数ã®æŒ‡å®šãŒã‚ã‚‹å ´åˆã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³å¼•æ•°ã®æŒ‡å®šã‚’優先ã—ã¾ã™ã€‚ã„ãšã‚Œã‚‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚

+
+
+
+
+

platform¶

+
+

system

+
+

対象ã¨ãªã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚’指定ã—ã¾ã™ã€‚ç¾çŠ¶ã§ã¯ ohtaka 㨠kugui ãŒæŒ‡å®šã§ãã¾ã™ã€‚

+
+

queue

+
+

使用ã™ã‚‹ãƒãƒƒãƒã‚­ãƒ¥ãƒ¼ã®å称を指定ã—ã¾ã™ã€‚キューã®å称ã¯ã‚·ã‚¹ãƒ†ãƒ ã«ä¾å­˜ã—ã¾ã™ã€‚

+
+

node

+
+

使用ã™ã‚‹ãƒŽãƒ¼ãƒ‰æ•°ã‚’指定ã—ã¾ã™ã€‚指定方法㯠ノード数(整数値) ã¾ãŸã¯ [ノード数, ノードã‚ãŸã‚Šã®ã‚³ã‚¢æ•°] (整数値ã®ãƒªã‚¹ãƒˆ) ã§ã™ã€‚数値ã®ç¯„囲ã¯ã‚·ã‚¹ãƒ†ãƒ ã¨ã‚­ãƒ¥ãƒ¼ã®æŒ‡å®šã«ä¾å­˜ã—ã¾ã™ã€‚(ノードã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ã®æŒ‡å®šã¯kugui,defaultã®ã¿æœ‰åŠ¹ã€‚ohtakaã®å ´åˆã¯ä½¿ã‚ã‚Œã¾ã›ã‚“。)

+
+

core

+
+

1ノードã‚ãŸã‚Šä½¿ç”¨ã™ã‚‹ã‚³ã‚¢æ•°ã‚’指定ã—ã¾ã™ã€‚数値ã®ç¯„囲ã¯ã‚·ã‚¹ãƒ†ãƒ ã¨ã‚­ãƒ¥ãƒ¼ã®æŒ‡å®šã«ä¾å­˜ã—ã¾ã™ã€‚ node パラメータã«åŒæ™‚ã«ãƒŽãƒ¼ãƒ‰ã‚ãŸã‚Šã®ã‚³ã‚¢æ•°ãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€ core ã®æŒ‡å®šãŒå„ªå…ˆã—ã¾ã™ã€‚(kugui,defaultã®ã¿)

+
+

elapsed

+
+

ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å®Ÿè¡Œæ™‚間を指定ã—ã¾ã™ã€‚書å¼ã¯ HH:MM:SS ã§ã™ã€‚

+
+

options

+
+

ãã®ä»–ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–オプションを指定ã—ã¾ã™ã€‚書å¼ã¯ã€ã‚¸ãƒ§ãƒ–スクリプトã®ã‚ªãƒ—ション行ã®å†…容をリスト形å¼ã¾ãŸã¯è¤‡æ•°è¡Œã‹ã‚‰ãªã‚‹æ–‡å­—列ã§è¨˜è¿°ã—ãŸã‚‚ã®ã§ã™ã€‚å„è¡Œã®å†’é ­ã®æŒ‡ç¤ºèªž(#PBS ã‚„ #SBATCH ãªã©)ã¯å«ã‚ã¾ã›ã‚“。以下ã«ä¾‹ã‚’示ã—ã¾ã™ã€‚

+
    +
  • SLURMã®å ´åˆ (文字列ã§æŒ‡å®šã™ã‚‹ä¾‹)

    +
    options: |
    +  --mail-type=BEGIN,END,FAIL
    +  --mail-user=user@sample.com
    +  --requeue
    +
    +
    +
  • +
  • PBSã®å ´åˆ (リストã§æŒ‡å®šã™ã‚‹ä¾‹)

    +
    options:
    +  - -m bea
    +  - -M user@sample.com
    +  - -r y
    +
    +
    +
  • +
+
+
+
+
+

prologue, epilogue¶

+

prologueセクションã¯ã‚¿ã‚¹ã‚¯é–‹å§‹å‰ã«å®Ÿè¡Œã™ã‚‹å†…容を記述ã—ã¾ã™ã€‚ライブラリやパスãªã©ç’°å¢ƒå¤‰æ•°ã®è¨­å®šç­‰ã‚’è¡Œã†ã®ã«åˆ©ç”¨ã§ãã¾ã™ã€‚epilogueセクションã¯å…¨ã‚¿ã‚¹ã‚¯çµ‚了後ã«å®Ÿè¡Œã™ã‚‹å†…容を記述ã—ã¾ã™ã€‚

+
+

code

+
+

処ç†å†…容をシェルスクリプトã®è¨˜æ³•ã§è¨˜è¿°ã—ã¾ã™ã€‚記述内容ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト中ã«åŸ‹ã‚è¾¼ã¾ã‚Œã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内ã§å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚

+
+
+
+
+

jobs¶

+

ジョブã§å®Ÿè¡Œã™ã‚‹ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‚’ã€ã‚¿ã‚¹ã‚¯åをキーã€å‡¦ç†å†…容を値ã¨ã—ã¦è¨˜è¿°ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルã®å½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚

+
+

キー

+
+

タスクå

+
+

値

+
+

以下ã®é …ç›®ã‹ã‚‰ãªã‚‹ãƒ†ãƒ¼ãƒ–ル:

+
+

description

+
+

タスクã®èª¬æ˜Žã‚’記述ã—ã¾ã™ã€‚コメントã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚

+
+

node

+
+

並列度を指定ã—ã¾ã™ã€‚指定方法ã¯ä»¥ä¸‹ã®ã„ãšã‚Œã‹ã§ã™ã€‚

+
    +
  • [ プロセス数, プロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•° ]

  • +
  • [ ノード数, プロセス数, プロセスã‚ãŸã‚Šã®ã‚¹ãƒ¬ãƒƒãƒ‰æ•° ]

  • +
  • ノード数

  • +
+

ノード数を指定ã—ãŸå ´åˆã€ãã®æ•°ã®ãƒŽãƒ¼ãƒ‰ãŒæŽ’ä»–çš„ã«ã‚¸ãƒ§ãƒ–ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ノード数を指定ã—ãªã„1番目ã®å½¢å¼ã®å ´åˆã€ä½¿ç”¨ã‚³ã‚¢æ•°ãŒ1ノードã«æº€ãŸãªã„ã¨ãã¯è¤‡æ•°ã®ã‚¸ãƒ§ãƒ–ãŒãƒŽãƒ¼ãƒ‰ã«è©°ã‚ã¦å‰²å½“られã¾ã™ã€‚1ノード以上を使ã†å ´åˆã¯å¿…è¦ãƒŽãƒ¼ãƒ‰æ•°ã‚’å æœ‰ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚

+
+

parallel

+
+

ジョブ間ã§å¤šé‡å®Ÿè¡Œã™ã‚‹å ´åˆã¯ true, é€æ¬¡å®Ÿè¡Œã™ã‚‹å ´åˆã¯ false を指定ã—ã¾ã™ã€‚デフォルト㯠true ã§ã™ã€‚

+
+

run

+
+

タスクã®å‡¦ç†å†…容をシェルスクリプトã®è¨˜æ³•ã§è¨˜è¿°ã—ã¾ã™ã€‚MPIプログラムã¾ãŸã¯ MPI/OpenMP ãƒã‚¤ãƒ–リッドプログラムを実行ã™ã‚‹ç®‡æ‰€ã¯

+
srun prog [arg1, ...]
+
+
+

ã¨è¨˜è¿°ã—ã¾ã™ã€‚ srun ã®ä»–ã« mpirun, mpiexec ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ãŒæœ‰åŠ¹ã§ã™ã€‚ã“ã®ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã¯ã€å®Ÿéš›ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト中ã§ã¯ã€ä¸¦åˆ—実行ã®ãŸã‚ã®ã‚³ãƒžãƒ³ãƒ‰ (srun ã‚„ mpirun) 㨠node パラメータã§æŒ‡å®šã—ãŸä¸¦åˆ—度ã®è¨­å®šã«ç½®ãæ›ãˆã¦è¨˜è¿°ã•ã‚Œã¾ã™ã€‚

+
+
+
+
+
+
+
+

5.2. リストファイル¶

+

ジョブã®ãƒªã‚¹ãƒˆã‚’指定ã—ã¾ã™ã€‚ファイルã¯ãƒ†ã‚­ã‚¹ãƒˆå½¢å¼ã§ã€ä¸€è¡Œã«ä¸€ã¤ã®ã‚¸ãƒ§ãƒ–åを記述ã—ã¾ã™(ディレクトリåãŒã‚¸ãƒ§ãƒ–åã¨ãªã‚Šã¾ã™)。

+

mollerã§ã¯ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã«ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ã€ã‚¸ãƒ§ãƒ–内ã®å„タスクã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç§»å‹•ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚ディレクトリã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ç›´ä¸‹ã«é…ç½®ã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã¨ä»®å®šã—ã¾ã™ã€‚

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/index.html b/manual/v1.0.0/ja/html/moller/index.html new file mode 100644 index 0000000..19d5a79 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/index.html @@ -0,0 +1,153 @@ + + + + + + + + 網羅計算ツール (moller) — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/tutorial/basic.html b/manual/v1.0.0/ja/html/moller/tutorial/basic.html new file mode 100644 index 0000000..459d8e9 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/tutorial/basic.html @@ -0,0 +1,323 @@ + + + + + + + + 3.1. 基本的ãªä½¿ã„æ–¹ — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.1. 基本的ãªä½¿ã„方¶

+

網羅計算ã®ãŸã‚ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプト生æˆãƒ„ール moller を使ã†ã«ã¯ã€å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦å®Ÿè¡Œå†…容を記述ã™ã‚‹æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’用æ„ã—ãŸå¾Œã€ãƒ—ログラム moller を実行ã—ã¾ã™ã€‚生æˆã•ã‚ŒãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã¨ã™ã‚‹ã‚¹ãƒ¼ãƒ‘ーコンピュータシステムã«è»¢é€ã—ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¦è¨ˆç®—ã‚’è¡Œã„ã¾ã™ã€‚ +以下ã§ã¯ã€ docs/tutorial/moller ディレクトリã«ã‚るサンプルを例ã«ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’実施ã—ã¾ã™ã€‚

+
+

構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã™ã‚‹Â¶

+

構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã«ã¯ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã§å®Ÿè¡Œã™ã‚‹å‡¦ç†ã®å†…容を記述ã—ã¾ã™ã€‚ +ã“ã“ã§ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã¨ã¯ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム等ã®ã‚¸ãƒ§ãƒ–スケジューラã«æŠ•å…¥ã™ã‚‹å®Ÿè¡Œå†…容を指ã—ã¾ã™ã€‚ãã‚Œã«å¯¾ã—ã€moller ãŒå¯¾è±¡ã¨ã™ã‚‹ãƒ—ログラムã®å¤šé‡å®Ÿè¡Œã«ãŠã„ã¦ã€å¤šé‡å®Ÿè¡Œã•ã‚Œã‚‹ä¸€ã¤ã®ãƒ‘ラメータセットã§ã®å®Ÿè¡Œå†…容をジョブã¨å‘¼ã¶ã“ã¨ã«ã—ã¾ã™ã€‚一ã¤ã®ã‚¸ãƒ§ãƒ–ã¯ã„ãã¤ã‹ã®å‡¦ç†å˜ä½ã‹ã‚‰ãªã‚Šã€ãã®å‡¦ç†å˜ä½ã‚’タスクã¨å‘¼ã³ã¾ã™ã€‚moller ã§ã¯ã‚¿ã‚¹ã‚¯ã”ã¨ã«å¤šé‡å®Ÿè¡Œã—ã€ã‚¿ã‚¹ã‚¯ã®å‰å¾Œã§åŒæœŸãŒã¨ã‚‰ã‚Œã¾ã™ã€‚

+
+タスクã¨ã‚¸ãƒ§ãƒ– +
+

図 3.1 例: 一ã¤ã®ãƒãƒƒãƒã‚¸ãƒ§ãƒ–内㧠job #1〜#3 ã® 3ã¤ã®ã‚¸ãƒ§ãƒ–を実行ã™ã‚‹ã€‚ジョブã¯ãã‚Œãžã‚Œç•°ãªã‚‹ãƒ‘ラメータセットãªã©ã«å¯¾å¿œã™ã‚‹ã€‚ジョブã®å®Ÿè¡Œå†…容㯠task 1〜4 ã®ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‹ã‚‰ãªã‚‹ã€‚タスクã”ã¨ã« job #1〜#3 ã®å‡¦ç†ã‚’並列ã«è¡Œã†ã€‚¶

+
+
+

以下ã«æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µãƒ³ãƒ—ルを記載ã—ã¾ã™ã€‚構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«ã¯ YAMLフォーマットã®ãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã§ã€å®Ÿè¡Œã™ã‚‹ãƒ—ラットフォームやãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®ãƒ‘ラメータã¨ã€ã‚¿ã‚¹ã‚¯ã®å‡¦ç†å†…容ã€å‰å‡¦ç†ãƒ»å¾Œå‡¦ç†ã‚’記述ã—ã¾ã™ã€‚

+
name: testjob
+description: Sample task file
+
+platform:
+  system:  ohtaka
+  queue:   i8cpu
+  node:    1
+  elapsed: 00:10:00
+
+prologue:
+  code: |
+    module purge
+    module load oneapi_compiler/2023.0.0 openmpi/4.1.5-oneapi-2023.0.0-classic
+
+    ulimit -s unlimited
+
+    source /home/issp/materiapps/intel/parallel/parallelvars-20210622-1.sh
+
+jobs:
+  start:
+    parallel: false
+    run: |
+      echo "start..."
+
+  hello:
+    description: hello world
+    node: [1,1]
+    run: |
+      echo "hello world." > result.txt
+      sleep 2
+
+  hello_again:
+    description: hello world again
+    node: [1,1]
+    run: |
+      echo "hello world again." >> result.txt
+      sleep 2
+
+epilogue:
+  code: |
+    echo "done."
+    date
+
+
+

platformセクションã§ã¯ã€å®Ÿè¡Œã™ã‚‹ãƒ—ラットフォームã®ç¨®é¡žã‚’指定ã—ã¾ã™ã€‚ã“ã®å ´åˆã¯ã€ç‰©æ€§ç ”システムB(ohtaka)ã§ã®è¨­å®šã‚’ã—ã¦ã„ã¾ã™ã€‚

+

prologueセクションã§ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å‰å‡¦ç†ã‚’記述ã—ã¾ã™ã€‚タスクを実行ã™ã‚‹å‰ã«å®Ÿè¡Œã™ã‚‹å…±é€šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’記述ã—ã¾ã™ã€‚

+

jobsセクションã§ã¯ã€ã‚¿ã‚¹ã‚¯ã®å‡¦ç†å†…容を記述ã—ã¾ã™ã€‚ジョブã§å®Ÿè¡Œã™ã‚‹ä¸€é€£ã®ã‚¿ã‚¹ã‚¯ã‚’ã€ã‚¿ã‚¹ã‚¯åをキーã€å‡¦ç†å†…容を値ã¨ã—ã¦è¨˜è¿°ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルã®å½¢å¼ã§è¨˜è¿°ã—ã¾ã™ã€‚

+

ã“ã®ä¾‹ã§ã¯ã€æœ€åˆã«"start..."を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ start ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ +ã“ã“ã§ã¯ parallel = false ã«è¨­å®šã—ã¦ã„ã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¸ãƒ§ãƒ–å˜ä½ã§ã®ä¸¦åˆ—ã¯è¡Œã‚ã‚Œãšã€run ã«è¨˜è¿°ã—ãŸå†…容ãŒé€æ¬¡çš„ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚

+

次ã«ã€"hello world."を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ hello world ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚ +ã“ã“ã§ã¯ parallel ãŒè¨­å®šã•ã‚Œã¦ã„ãªã„ã®ã§ã€ paralle = true ã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚ã“ã®å ´åˆã€ã‚¸ãƒ§ãƒ–å˜ä½ã§ã®ä¸¦åˆ—ãŒè¡Œã‚ã‚Œã¾ã™ã€‚ +åŒæ§˜ã«ã€æ¬¡ã« "hello world again." を出力ã™ã‚‹ã‚¿ã‚¹ã‚¯ã‚’ hello_again ã¨ã„ã†ã‚¿ã‚¹ã‚¯åã§å®šç¾©ã—ã¦ã„ã¾ã™ã€‚

+

最後ã«ã€epilogueセクションã§ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã®å¾Œå‡¦ç†ã‚’記述ã—ã¾ã™ã€‚タスクを実行ã—ãŸå¾Œã«å®Ÿè¡Œã™ã‚‹å…±é€šã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚’記述ã—ã¾ã™ã€‚

+

仕様ã®è©³ç´°ã«ã¤ã„ã¦ã¯ ファイルフォーマット ã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。

+
+
+

ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹Â¶

+

構æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«(input.yaml)を入力ã¨ã—㦠moller を実行ã—ã¾ã™ã€‚

+
$ moller -o job.sh input.yaml
+
+
+

ãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトãŒç”Ÿæˆã•ã‚Œå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚出力先ã¯æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ«å†…ã®ãƒ‘ラメータã€ã¾ãŸã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã® -o ã¾ãŸã¯ --output オプションã§æŒ‡å®šã™ã‚‹ãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ã€‚ +両方指定ã•ã‚Œã¦ã„ã‚‹å ´åˆã¯ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãƒ‘ラメータãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚ã„ãšã‚Œã‚‚指定ãŒãªã„å ´åˆã¯æ¨™æº–出力ã«æ›¸ã出ã•ã‚Œã¾ã™ã€‚

+

å¿…è¦ã«å¿œã˜ã¦ mollerã§ç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトを対象ã®ã‚·ã‚¹ãƒ†ãƒ ã«è»¢é€ã—ã¾ã™ã€‚ +ãªãŠã€ã‚¹ã‚¯ãƒªãƒ—トã®ç¨®é¡žã¯ bash スクリプトã§ã™ã€‚ジョブ実行時ã«ä½¿ç”¨ã™ã‚‹ã‚·ã‚§ãƒ«ã‚’ bash ã«è¨­å®šã—ã¦ãŠãå¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚(ログインシェルを cshç³»ãªã©ã«ã—ã¦ã„ã‚‹å ´åˆã¯æ³¨æ„)

+
+
+

リストファイルを作æˆã™ã‚‹Â¶

+

実行ã™ã‚‹ã‚¸ãƒ§ãƒ–ã®ãƒªã‚¹ãƒˆã‚’作æˆã—ã¾ã™ã€‚moller ã§ã¯ã€ã‚¸ãƒ§ãƒ–ã”ã¨ã«å€‹åˆ¥ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’用æ„ã—ã€ãã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªå†…ã§å„ジョブを実行ã™ã‚‹ä»•æ§˜ã«ãªã£ã¦ã„ã¾ã™ã€‚ +対象ã¨ãªã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®ãƒªã‚¹ãƒˆã‚’æ ¼ç´ã—ãŸãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã€ãŸã¨ãˆã°ä»¥ä¸‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¨ã—ã¦ä½œæˆã—ã¾ã™ã€‚

+
$ /usr/bin/ls -1d * > list.dat
+
+
+

ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã¨ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã‚’作æˆã™ã‚‹ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ãƒ¼ãƒ—ログラムãŒä»˜å±žã—ã¦ã„ã¾ã™ã€‚

+
$ bash ./make_inputs.sh
+
+
+

を実行ã™ã‚‹ã¨ã€ output ディレクトリã®ä¸‹ã«ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ç›¸å½“ã™ã‚‹ dataset-0001 〜 dataset-0020 ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ã€ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« list.dat ãŒä½œæˆã•ã‚Œã¾ã™ã€‚

+
+
+

網羅計算を実行ã™ã‚‹Â¶

+

mollerã§ç”Ÿæˆã—ãŸãƒãƒƒãƒã‚¸ãƒ§ãƒ–スクリプトをジョブスケジューラã«æŠ•å…¥ã—ã¾ã™ã€‚ã“ã®ä¾‹ã§ã¯ã‚¸ãƒ§ãƒ–スクリプトã¨å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ output ディレクトリã«ã‚³ãƒ”ーã—〠output ã«ç§»å‹•ã—ã¦ã‚¸ãƒ§ãƒ–を投入ã—ã¦ã„ã¾ã™ã€‚

+
+
$ cp job.sh input.yaml output/
+$ cd output
+$ sbatch job.sh list.dat
+
+
+
+

ジョブãŒå®Ÿè¡Œã•ã‚Œã‚‹ã¨ã€ãƒªã‚¹ãƒˆã«è¨˜è¼‰ã•ã‚ŒãŸãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãã‚Œãžã‚Œ "result.txt" ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ +"result.txt" ã«ã¯ã€ã‚¸ãƒ§ãƒ–実行çµæžœã® "hello world.", "hello world again." ã¨ã„ã†æ–‡å­—列ãŒå‡ºåŠ›ã•ã‚Œã¦ã„ã‚‹ã“ã¨ãŒç¢ºèªã§ãã¾ã™ã€‚

+
+
+

実行状æ³ã‚’確èªã™ã‚‹Â¶

+

タスクã®å®Ÿè¡ŒçŠ¶æ³ã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã«å‡ºåŠ›ã•ã‚Œã¾ã™ã€‚ログをåŽé›†ã—ã¦ã‚¸ãƒ§ãƒ–ã”ã¨ã«å®Ÿè¡ŒçŠ¶æ³ã‚’一覧ã™ã‚‹ãƒ„ール moller_status ãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚ジョブを実行ã™ã‚‹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ä»¥ä¸‹ã‚’実行ã—ã¾ã™ã€‚

+
$ moller_status input.yaml list.dat
+
+
+

引数ã«ã¯æ§‹æˆå®šç¾©ãƒ•ã‚¡ã‚¤ãƒ« input.yaml ã¨ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« list.dat を指定ã—ã¾ã™ã€‚リストファイルã¯çœç•¥å¯èƒ½ã§ã€ãã®å ´åˆã¯ãƒ­ã‚°ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰ã‚¸ãƒ§ãƒ–ã®æƒ…報をåŽé›†ã—ã¾ã™ã€‚

+

出力サンプルを以下ã«ç¤ºã—ã¾ã™ã€‚

+
| job          | hello   | hello_again   |
+|--------------|---------|---------------|
+| dataset-0001 | o       | o             |
+| dataset-0002 | o       | o             |
+| dataset-0003 | o       | o             |
+| dataset-0004 | o       | o             |
+| dataset-0005 | o       | o             |
+| dataset-0006 | o       | o             |
+| dataset-0007 | o       | o             |
+| dataset-0008 | o       | o             |
+| dataset-0009 | o       | o             |
+| dataset-0010 | o       | o             |
+| dataset-0011 | o       | o             |
+| dataset-0012 | o       | o             |
+| dataset-0013 | o       | o             |
+| dataset-0014 | o       | o             |
+| dataset-0015 | o       | o             |
+| dataset-0016 | o       | o             |
+| dataset-0017 | o       | o             |
+| dataset-0018 | o       | o             |
+| dataset-0019 | o       | o             |
+| dataset-0020 | o       | o             |
+
+
+

「oã€ã¯æ­£å¸¸çµ‚了ã—ãŸã‚¿ã‚¹ã‚¯ã€ã€Œxã€ã¯ã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸã‚¿ã‚¹ã‚¯ã€ã€Œ-ã€ã¯å‰ã®ã‚¿ã‚¹ã‚¯ãŒã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸãŸã‚スキップã•ã‚ŒãŸã‚¿ã‚¹ã‚¯ã€ã€Œ.ã€ã¯æœªå®Ÿè¡Œã®ã‚¿ã‚¹ã‚¯ã‚’示ã—ã¾ã™ã€‚ +今回ã¯å…¨ã¦æ­£å¸¸çµ‚了ã—ã¦ã„ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚

+
+
+

失敗ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹Â¶

+

タスクãŒå¤±æ•—ã—ãŸå ´åˆã€ãã®ã‚¸ãƒ§ãƒ–内ã®å¾Œç¶šã®ã‚¿ã‚¹ã‚¯ã¯å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。以下ã¯ã€å„タスク㌠10% ã®ç¢ºçŽ‡ã§å¤±æ•—ã™ã‚‹ã‚±ãƒ¼ã‚¹ã®å®Ÿè¡Œä¾‹ã§ã™ã€‚

+
| job          | task1   | task2   | task3   |
+|--------------|---------|---------|---------|
+| dataset_0001 | o       | o       | o       |
+| dataset_0002 | o       | x       | -       |
+| dataset_0003 | x       | -       | -       |
+| dataset_0004 | x       | -       | -       |
+| dataset_0005 | o       | o       | o       |
+| dataset_0006 | o       | o       | o       |
+| dataset_0007 | o       | x       | -       |
+| dataset_0008 | o       | o       | o       |
+| dataset_0009 | o       | o       | x       |
+| dataset_0010 | o       | o       | o       |
+| dataset_0011 | o       | o       | o       |
+| dataset_0012 | o       | o       | o       |
+| dataset_0013 | o       | x       | -       |
+| dataset_0014 | o       | o       | o       |
+| dataset_0015 | o       | o       | o       |
+| dataset_0016 | o       | o       | o       |
+| dataset_0017 | o       | o       | o       |
+| dataset_0018 | o       | o       | o       |
+| dataset_0019 | o       | o       | o       |
+| dataset_0020 | o       | o       | o       |
+
+
+

dataset_0003, dataset_0004 㯠task1 ãŒå¤±æ•—ã—ã€å¾Œç¶šã® task2, task3 ã¯å®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã›ã‚“。ãã®ä»–ã® dataset 㯠task1 ãŒæˆåŠŸã—ã€æ¬¡ã® task2 ãŒå®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã™ã€‚ã“ã®ã‚ˆã†ã«ã€å„ジョブã¯ä»–ã®ã‚¸ãƒ§ãƒ–ã¨ã¯ç‹¬ç«‹ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚

+

失敗ã—ãŸã‚¿ã‚¹ã‚¯ã‚’å†å®Ÿè¡Œã™ã‚‹ã«ã¯ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã« retry ã®ã‚ªãƒ—ションをã¤ã‘ã¦å†å®Ÿè¡Œã—ã¾ã™ã€‚ +SLURMジョブスケジューラ (例: 物性研システムB) ã®å ´åˆã¯æ¬¡ã®ã‚ˆã†ã«ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を投入ã—ã¾ã™ã€‚

+
$ sbatch job.sh --retry list.dat
+
+
+

PBSジョブスケジューラ (例: 物性研システムC) ã®å ´åˆã¯ã‚¸ãƒ§ãƒ–スクリプトを編集ã—〠retry=0 ã®è¡Œã‚’ retry=1 ã«å¤‰æ›´ã—ã¦ã€ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’å†æŠ•å…¥ã—ã¾ã™ã€‚

+
| job          | task1   | task2   | task3   |
+|--------------|---------|---------|---------|
+| dataset_0001 | o       | o       | o       |
+| dataset_0002 | o       | o       | x       |
+| dataset_0003 | o       | x       | -       |
+| dataset_0004 | o       | o       | o       |
+| dataset_0005 | o       | o       | o       |
+| dataset_0006 | o       | o       | o       |
+| dataset_0007 | o       | o       | o       |
+| dataset_0008 | o       | o       | o       |
+| dataset_0009 | o       | o       | o       |
+| dataset_0010 | o       | o       | o       |
+| dataset_0011 | o       | o       | o       |
+| dataset_0012 | o       | o       | o       |
+| dataset_0013 | o       | o       | o       |
+| dataset_0014 | o       | o       | o       |
+| dataset_0015 | o       | o       | o       |
+| dataset_0016 | o       | o       | o       |
+| dataset_0017 | o       | o       | o       |
+| dataset_0018 | o       | o       | o       |
+| dataset_0019 | o       | o       | o       |
+| dataset_0020 | o       | o       | o       |
+
+
+

エラーã«ãªã£ãŸã‚¿ã‚¹ã‚¯ã®ã¿å†å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚上記ã®ä¾‹ã§ã¯ã€dataset_0003 㯠task1 ãŒå†å®Ÿè¡Œã•ã‚Œæ­£å¸¸çµ‚了ã—ã€æ¬¡ã® task2 ã®å®Ÿè¡Œã«å¤±æ•—ã—ã¦ã„ã¾ã™ã€‚dataset_0004 㯠task1, task2, task3 ãŒæ­£å¸¸ã«å®Ÿè¡Œã•ã‚Œã¦ã„ã¾ã™ã€‚task3 ã¾ã§å…¨ã¦æ­£å¸¸çµ‚了ã—ã¦ã„るデータ・セットã«å¯¾ã—ã¦ã¯ä½•ã‚‚実行ã—ã¾ã›ã‚“。

+

ãªãŠã€å†å®Ÿè¡Œã®éš›ã«ãƒªã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¯å¤‰æ›´ã—ãªã„ã§ãã ã•ã„。リストファイル内ã®é †ç•ªã§ã‚¸ãƒ§ãƒ–を管ç†ã—ã¦ã„ã‚‹ãŸã‚ã€å¤‰æ›´ã™ã‚‹ã¨æ­£ã—ãå†å®Ÿè¡Œã•ã‚Œã¾ã›ã‚“。

+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/tutorial/dsqss.html b/manual/v1.0.0/ja/html/moller/tutorial/dsqss.html new file mode 100644 index 0000000..4a766c0 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/tutorial/dsqss.html @@ -0,0 +1,179 @@ + + + + + + + + 3.3. DSQSS ã«ã‚ˆã‚‹ moller 計算ã®ä¾‹ — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.3. DSQSS ã«ã‚ˆã‚‹ moller 計算ã®ä¾‹Â¶

+
+

ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¤ã„ã¦Â¶

+

ã“ã‚Œã¯ã€é‡å­å¤šä½“å•é¡Œã®çµŒè·¯ç©åˆ†ãƒ¢ãƒ³ãƒ†ã‚«ãƒ«ãƒ­æ³•ã‚’実行ã™ã‚‹ãŸã‚ã®ã‚ªãƒ¼ãƒ—ンソースソフトウェアパッケージã§ã‚ã‚‹ DSQSS を用ã„㟠moller ã®ä¾‹ã§ã™ã€‚ã“ã®ä¾‹ã§ã¯ã€å‘¨æœŸå¢ƒç•Œæ¡ä»¶ä¸‹ã® \(S=1/2\) (DSQSSã®ç”¨èªžã§ã¯ \(M=1\)) ãŠã‚ˆã³ \(S=1\) (\(M=2\)) åå¼·ç£æ€§ãƒã‚¤ã‚¼ãƒ³ãƒ™ãƒ«ã‚¯éŽ–ã®ç£æ°—æ„Ÿå—率 \(\chi\) ã®æ¸©åº¦ä¾å­˜æ€§ã‚’計算ã—ã¾ã™ã€‚ moller を使用ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹ãƒ‘ラメーター (\(M, L, T\)) ã®è¨ˆç®—を並列ã«å®Ÿè¡Œã—ã¾ã™ã€‚

+

ã“ã®ä¾‹ã¯ å…¬å¼ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã®ä¸€ã¤ ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚

+
+
+

準備¶

+

moller (HTP-tools)パッケージ㨠DSQSS ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€ISSP ã®ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム ohtaka を使用ã—ã¦è¨ˆç®—を実行ã—ã¾ã™ã€‚

+
+
+

実行方法¶

+
    +
  1. データセットを準備ã™ã‚‹

    +

    ã“ã®ãƒ‘ッケージã«å«ã¾ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—ト make_inputs.sh を実行ã—ã¾ã™ã€‚

    +
    $ bash ./make_inputs.sh
    +
    +
    +

    ã“ã‚Œã«ã‚ˆã‚Šã€ output ディレクトリãŒä½œæˆã•ã‚Œã¾ã™ï¼ˆã™ã§ã«å­˜åœ¨ã™ã‚‹å ´åˆã¯ã€ã¾ãšå‰Šé™¤ã—ã€å†åº¦ä½œæˆã—ã¾ã™ï¼‰ã€‚ output ã®ä¸‹ã«ã¯ã€å„パラメーター用ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªï¼ˆä¾‹ï¼š L_8__M_1__T_1.0)ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ディレクトリã®ãƒªã‚¹ãƒˆã¯ list.dat ファイルã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚

    +
  2. +
  3. moller を使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹

    +

    ジョブ記述ファイルを使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—〠job.sh ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åã§ä¿å­˜ã—ã¾ã™ã€‚

    +
    $ moller -o job.sh input.yaml
    +
    +
    +

    次ã«ã€job.sh ã‚’ output ディレクトリã«ã‚³ãƒ”ーã—〠output ディレクトリã«ç§»å‹•ã—ã¾ã™ã€‚

    +
  4. +
  5. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹

    +

    ジョブリストを引数ã¨ã—ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’é€ä¿¡ã—ã¾ã™ã€‚

    +
    $ sbatch job.sh list.dat
    +
    +
    +
  6. +
  7. 状態を確èªã™ã‚‹

    +

    タスク実行ã®çŠ¶æ…‹ã¯ moller_status プログラムã«ã‚ˆã£ã¦ã¾ã¨ã‚られã¾ã™ã€‚

    +
    $ moller_status input.yaml list.dat
    +
    +
    +
  8. +
  9. çµæžœã‚’集ã‚ã‚‹

    +

    計算ãŒçµ‚了ã—ãŸå¾Œã€çµæžœã‚’以下ã®ã‚ˆã†ã«ã—ã¦é›†ã‚ã¾ã™ã€‚

    +
    $ python3 ../extract_result.py list.dat
    +
    +
    +

    ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã¯ã€\(M\), \(L\), \(T\), \(\chi\) ã®å¹³å‡ã€ãŠã‚ˆã³ \(\chi\) ã®æ¨™æº–誤差をå«ã‚€ 5 列ã®ãƒ†ã‚­ã‚¹ãƒˆãƒ•ã‚¡ã‚¤ãƒ« result.dat ã«çµæžœã‚’書ãè¾¼ã¿ã¾ã™ã€‚

    +

    çµæžœã‚’視覚化ã™ã‚‹ãŸã‚ã«ã€GNUPLOT ファイル plot_M1.plt ãŠã‚ˆã³ plot_M2.plt ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚

    +
    $ gnuplot --persist plot_M1.plt
    +$ gnuplot --persist plot_M2.plt
    +
    +
    +

    S=1/2 ã®ç£æ°—æ„Ÿå—率 S=2 ã®ç£æ°—æ„Ÿå—率

    +

    \(S=1/2\) 㨠\(S=1\) AFH 鎖ã®ä¸»ãªé•ã„ã¯ã€åŠ±èµ·ã‚®ãƒ£ãƒƒãƒ—ãŒæ¶ˆå¤±ã™ã‚‹ã‹ (\(S=1/2\))ã€æ®‹ã‚‹ã‹ (\(S=1\)) ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚ +ã“れをå映ã—ã¦ã€éžå¸¸ã«ä½Žæ¸©é ˜åŸŸã§ã®ç£æ°—æ„Ÿå—率ã¯ã€æœ‰é™ã«ãªã‚‹ (\(S=1/2\)) ã‹ã€æ¶ˆå¤±ã™ã‚‹ (\(S=1\)) ã‹ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚ +\(S=1/2\) ã®å ´åˆã«ã¯ã€æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœã«ã‚ˆã‚Šã‚¹ãƒ”ンギャップãŒé–‹ãã€ãã®ãŸã‚å°ã•ã„ãƒã‚§ãƒ¼ãƒ³ã®ç£æ°—æ„Ÿå—率ãŒä½Žä¸‹ã—ã¾ã™ã€‚

    +
  10. +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/tutorial/hphi.html b/manual/v1.0.0/ja/html/moller/tutorial/hphi.html new file mode 100644 index 0000000..c8344be --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/tutorial/hphi.html @@ -0,0 +1,191 @@ + + + + + + + + 3.2. HPhi ã«ã‚ˆã‚‹ moller 計算ã®ä¾‹ — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +
+

3.2. HPhi ã«ã‚ˆã‚‹ moller 計算ã®ä¾‹Â¶

+
+

ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã«ã¤ã„ã¦Â¶

+

ã“ã‚Œã¯ã€é‡å­å¤šä½“å•é¡Œã®æ­£ç¢ºãªå¯¾è§’化方法を実行ã™ã‚‹ãŸã‚ã®ã‚ªãƒ¼ãƒ—ンソースソフトウェアパッケージã§ã‚ã‚‹ HPhi を用ã„㟠moller ã®ä¾‹ã§ã™ã€‚ +ã“ã®ä¾‹ã§ã¯ã€å‘¨æœŸå¢ƒç•Œæ¡ä»¶ä¸‹ã® \(S=1/2\) (2S_1 ディレクトリ) 㨠\(S=1\) (2S_2) åå¼·ç£æ€§ãƒã‚¤ã‚¼ãƒ³ãƒ™ãƒ«ã‚¯éŽ–ã®åŠ±èµ·ã‚®ãƒ£ãƒƒãƒ— \(\Delta\) ã®ã‚·ã‚¹ãƒ†ãƒ ã‚µã‚¤ã‚ºä¾å­˜æ€§ã‚’計算ã—ã¾ã™ã€‚ +moller を使用ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹ã‚·ã‚¹ãƒ†ãƒ ã‚µã‚¤ã‚ºã®è¨ˆç®—を並列ã«å®Ÿè¡Œã—ã¾ã™ã€‚ +ã“ã‚Œã¯HPhi å…¬å¼ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã® セクション 1.4 ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚

+
+
+

準備¶

+

moller (HTP-tools)パッケージ㨠HPhi ãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€ISSP ã®ã‚¹ãƒ¼ãƒ‘ーコンピュータシステム ohtaka を使用ã—ã¦è¨ˆç®—を実行ã—ã¾ã™ã€‚

+
+
+

実行方法¶

+
    +
  1. データセットを準備ã™ã‚‹

    +

    2S_1, 2S_2 ã«å«ã¾ã‚Œã‚‹ã‚¹ã‚¯ãƒªãƒ—ト make_inputs.sh を実行ã—ã¾ã™ã€‚

    +
    $ bash ./make_inputs.sh
    +
    +
    +

    L_8, L_10, ..., L_24 (2S_2 ã®å ´åˆã¯ L_18 ã¾ã§) ã®ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚ +ディレクトリã®ãƒªã‚¹ãƒˆã¯ list.dat ファイルã«æ›¸ãè¾¼ã¾ã‚Œã¾ã™ã€‚ +ã•ã‚‰ã«ã€ä½œæ¥­ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‹ã‚‰ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚®ãƒ£ãƒƒãƒ—を集ã‚ã‚‹ãŸã‚ã®ã‚·ã‚§ãƒ«ã‚¹ã‚¯ãƒªãƒ—ト〠extract_gap.sh ãŒç”Ÿæˆã•ã‚Œã¾ã™ã€‚

    +
  2. +
  3. moller を使用ã—ã¦ã‚¸ãƒ§ãƒ–スクリプトを生æˆã™ã‚‹

    +

    input.yaml ã‹ã‚‰ã‚¸ãƒ§ãƒ–スクリプトを生æˆã—〠job.sh ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«åã§ä¿å­˜ã—ã¾ã™ã€‚

    +
    $ moller -o job.sh input.yaml
    +
    +
    +
  4. +
  5. ãƒãƒƒãƒã‚¸ãƒ§ãƒ–を実行ã™ã‚‹

    +

    ジョブリストを引数ã¨ã—ã¦ãƒãƒƒãƒã‚¸ãƒ§ãƒ–ã‚’é€ä¿¡ã—ã¾ã™ã€‚

    +
    $ sbatch job.sh list.dat
    +
    +
    +
  6. +
  7. 状態を確èªã™ã‚‹

    +

    タスク実行ã®çŠ¶æ…‹ã¯ moller_status プログラムã«ã‚ˆã£ã¦ç¢ºèªã§ãã¾ã™ã€‚

    +
    $ moller_status input.yaml list.dat
    +
    +
    +
  8. +
  9. çµæžœã‚’集ã‚ã‚‹

    +

    計算ãŒçµ‚了ã—ãŸå¾Œã€ã‚¸ãƒ§ãƒ–ã‹ã‚‰ã‚¨ãƒãƒ«ã‚®ãƒ¼ã‚®ãƒ£ãƒƒãƒ—を以下ã®ã‚ˆã†ã«ã—ã¦é›†ã‚ã¾ã™ã€‚

    +
    $ bash extract_gap.sh
    +
    +
    +

    ã“ã®ã‚¹ã‚¯ãƒªãƒ—トã¯ã€é•·ã• \(L\) ã¨ã‚®ãƒ£ãƒƒãƒ— \(\Delta\) ã®ãƒšã‚¢ã‚’テキストファイル gap.dat ã«æ›¸ãè¾¼ã¿ã¾ã™ã€‚

    +

    çµæžœã‚’視覚化ã™ã‚‹ãŸã‚ã«ã€Gnuplot ファイル gap.plt ãŒåˆ©ç”¨å¯èƒ½ã§ã™ã€‚ +ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã€å¾—られãŸã‚®ãƒ£ãƒƒãƒ—データãŒäºˆæƒ³ã•ã‚Œã‚‹æ›²ç·šã«ã‚ˆã£ã¦ãƒ•ã‚£ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚

    +
    +(3.1)¶\[\Delta(L; S=1/2) = \Delta_\infty + A/L\]
    +

    ãŠã‚ˆã³

    +
    +(3.2)¶\[\Delta(L; S=1) = \Delta_\infty + B\exp(-CL).\]
    +

    グラフã¯æ¬¡ã®ã‚³ãƒžãƒ³ãƒ‰ã§æç”»ã§ãã¾ã™ã€‚

    +
    $ gnuplot --persist gap.plt
    +
    +
    +
    +スピンギャップã®æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœ +
    +

    図 3.3 スピンギャップã®æœ‰é™ã‚µã‚¤ã‚ºåŠ¹æžœÂ¶

    +
    +
    +

    \(S=1/2\) ã®å ´åˆã€å¯¾æ•°è£œæ­£ã«ã‚ˆã‚Šã‚¹ãƒ”ンギャップã¯æœ‰é™ã®ã¾ã¾ã§ã™ã€‚一方ã§ã€\(S=1\) ã®å ´åˆã€å¤–挿値 \(\Delta_\infty = 0.417(1)\) ã¯ä»¥å‰ã®çµæžœï¼ˆä¾‹ãˆã°ã€QMC ã«ã‚ˆã‚‹ \(\Delta_\infty = 0.41048(6)\) (Todo and Kato, PRL 87, 047203 (2001)))ã¨ã‚ˆãã‚ã£ã¦ã„ã¾ã™ã€‚

    +
  10. +
+
+
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/moller/tutorial/index.html b/manual/v1.0.0/ja/html/moller/tutorial/index.html new file mode 100644 index 0000000..b9a4989 --- /dev/null +++ b/manual/v1.0.0/ja/html/moller/tutorial/index.html @@ -0,0 +1,145 @@ + + + + + + + + 3. ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/objects.inv b/manual/v1.0.0/ja/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..103f5bd1feb6868552cac5a42efbe45df8564853 GIT binary patch literal 590 zcmV-U0NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkSZ)|L3 zav)W6WpZ;MM|EjrWeOu8R%LQ?X>V>iATcg53L_v?Xk{RBWo=<;Ze(S0Aa78b#rNMXCQiPX<{x4c-obd%}T>S5XbL*iUmFBp%$;6 z1-%GL@d46gZ36i+n?ifcZiSYft01CSRMZv^eqp87hnar(7-q9sZD>;Qw(R`>zuB3c zDP!BPHC#o+*EUS0giVxRN9Fi-P4_JmO`kjCK|A-W(;StnW+Xd~X<`rU6YLSRRWUT2 zvm7mj?AG!!Ae_KDK;M8}0~-MA#<{GBS5Qh$#V^byo{tLFN~Nrf6geF)0w}h3)(? zXylNPMZ`!Th?~W|Vi7^m1=;}Gilr!ieef_Ew&wV{s~d~(JTB+W1@g-R zxkL><4YU(>IybX!f9&CI&DR|}eH#f@JXKEu#9h2JS7)IT*eQ3>w@|O<`B)t|o~8In cU-r~3E&nxloGWWjrKU6{qNcUx8=E#d1JT?ISO5S3 literal 0 HcmV?d00001 diff --git a/manual/v1.0.0/ja/html/search.html b/manual/v1.0.0/ja/html/search.html new file mode 100644 index 0000000..b069925 --- /dev/null +++ b/manual/v1.0.0/ja/html/search.html @@ -0,0 +1,123 @@ + + + + + + + 検索 — Moller Users Guide 1.0.0 ドキュメント + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+ +

検索

+ + + + +

+ 複数ã®å˜èªžã‚’検索ã™ã‚‹ã¨ã€æ¬¡ã‚’å«ã‚€ä¸€è‡´ã®ã¿ãŒè¡¨ç¤ºã•ã‚Œã¾ã™ +     ã™ã¹ã¦ã®ç”¨èªžã€‚ +

+ + +
+ + + +
+ + + +
+ +
+ + +
+ +
+
+ +
+
+ + + + + + + \ No newline at end of file diff --git a/manual/v1.0.0/ja/html/searchindex.js b/manual/v1.0.0/ja/html/searchindex.js new file mode 100644 index 0000000..5f57c38 --- /dev/null +++ b/manual/v1.0.0/ja/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({"docnames": ["index", "moller/about/index", "moller/appendix/index", "moller/basic-usage", "moller/command/index", "moller/filespec/index", "moller/index", "moller/tutorial/basic", "moller/tutorial/dsqss", "moller/tutorial/hphi", "moller/tutorial/index"], "filenames": ["index.rst", "moller/about/index.rst", "moller/appendix/index.rst", "moller/basic-usage.rst", "moller/command/index.rst", "moller/filespec/index.rst", "moller/index.rst", "moller/tutorial/basic.rst", "moller/tutorial/dsqss.rst", "moller/tutorial/hphi.rst", "moller/tutorial/index.rst"], "titles": ["Moller Users Guide", "1. \u6982\u8981", "6. \u62e1\u5f35\u30ac\u30a4\u30c9", "2. \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9", "4. \u30b3\u30de\u30f3\u30c9\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9", "5. \u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8", "\u7db2\u7f85\u8a08\u7b97\u30c4\u30fc\u30eb (moller)", "3.1. \u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9", "3.3. DSQSS \u306b\u3088\u308b moller \u8a08\u7b97\u306e\u4f8b", "3.2. HPhi \u306b\u3088\u308b moller \u8a08\u7b97\u306e\u4f8b", "3. \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb"], "terms": {"\u7db2\u7f85": [0, 3, 4, 10], "\u8a08\u7b97": [0, 1, 2, 3, 4, 10], "\u30c4\u30fc\u30eb": [0, 1, 2, 3, 7], "\u6982\u8981": [0, 6], "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": [0, 6, 8, 9], "\u57fa\u672c": [0, 6, 10], "\u4f7f\u3044\u65b9": [0, 6, 10], "\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb": [0, 6, 7], "\u30b3\u30de\u30f3\u30c9\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9": [0, 6], "\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8": [0, 3, 6, 7], "\u62e1\u5f35": [0, 6], "\u30ac\u30a4\u30c9": [0, 6], "\u8fd1\u5e74": 1, "\u6a5f\u68b0": 1, "\u5b66\u7fd2": 1, "\u6d3b\u7528": 1, "\u7269\u6027": [1, 2, 3, 7], "\u4e88\u6e2c": 1, "\u7269\u8cea": 1, "\u8a2d\u8a08": 1, "\u30de\u30c6\u30ea\u30a2\u30eb\u30ba\u30a4\u30f3\u30d5\u30a9\u30de\u30c6\u30a3\u30af\u30b9": 1, "\u6ce8\u76ee": 1, "\u307e\u3059": [1, 2, 3, 4, 5, 7, 8, 9], "\u7cbe\u5ea6": 1, "\u9069\u5207": 1, "\u6559\u5e2b": 1, "\u30c7\u30fc\u30bf": [1, 7], "\u6e96\u5099": [1, 10], "\u5927\u304d\u304f": 1, "\u4f9d\u5b58": [1, 2, 5, 8, 9], "\u305d\u306e": [1, 2, 5, 7, 8], "\u305f\u3081": [1, 2, 4, 5, 7, 8, 9], "\u8fc5\u901f": 1, "\u751f\u6210": [1, 3, 4, 5, 8, 9, 10], "\u3059\u308b": [1, 2, 3, 4, 5, 8, 9, 10], "\u6574\u5099": 1, "\u7814\u7a76": 1, "\u9032\u5c55": 1, "\u671f\u5f85": 1, "\u30cf\u30a4\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8": 1, "\u652f\u63f4": 1, "\u30d1\u30c3\u30b1\u30fc\u30b8htp": 1, "-tools": [1, 3, 8, 9], "\u4e00\u3064": [1, 2, 5, 7, 8], "\u3068\u3057\u3066": [1, 2, 3, 5, 7, 8, 9], "\u63d0\u4f9b": 1, "\u30b9\u30fc\u30d1\u30fc\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf": [1, 3], "\u30af\u30e9\u30b9\u30bf": 1, "\u5411\u3051": [1, 2, 3], "\u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u30b9\u30af\u30ea\u30d7\u30c8": [1, 3, 4, 5, 10], "\u3042\u308a": [1, 2, 3, 7], "\u591a\u91cd": [1, 2, 3, 5, 7], "\u5b9f\u884c": [1, 3, 4, 5, 6, 10], "\u6a5f\u80fd": [1, 3], "\u5229\u7528": [1, 2, 3, 5, 8, 9], "\u30d1\u30e9\u30e1\u30fc\u30bf": [1, 2, 3, 4, 5, 7], "\u4e26\u5217": [1, 2, 3, 4, 5, 7, 8, 9], "\u306a\u3069": [1, 2, 3, 5, 7], "\u4e00\u9023": [1, 3, 5, 7], "\u6761\u4ef6": [1, 3, 8, 9], "\u306b\u3064\u3044\u3066": [1, 3, 6, 7, 10], "\u30d7\u30ed\u30b0\u30e9\u30e0": [1, 2, 3, 4, 5, 7, 8, 9], "\u3053\u3068": [1, 2, 3, 7, 8, 9], "\u3067\u304d": [1, 2, 3, 4, 5, 7, 9], "\u73fe\u72b6": [1, 5], "\u6771\u4eac": 1, "\u5927\u5b66": 1, "ohtaka": [1, 2, 3, 5, 7, 8, 9], "slurm": [1, 3, 5, 7], "\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9": [1, 3, 7], "kugui": [1, 2, 3, 5], "pbs": [1, 3, 5, 7], "\u30b5\u30dd\u30fc\u30c8": 1, "\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2": 1, "\u30d7\u30ed\u30b0\u30e9\u30e0\u30d1\u30c3\u30b1\u30fc\u30b8": 1, "\u304a\u3088\u3073": [1, 2, 3, 8, 9], "\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9": [1, 3], "\u4e00\u5f0f": 1, "gnu": [1, 2, 3], "general": 1, "public": 1, "license": [1, 3], "version": 1, "gpl": 1, "\u6e96\u3058": 1, "\u914d\u5e03": [1, 3], "\u4ee5\u4e0b": [1, 2, 3, 4, 5, 7, 8, 9], "\u306b\u3088\u308a": [1, 8, 9], "ver": 1, "\u30ea\u30ea\u30fc\u30b9": 1, "beta": 1, "\u5409\u898b": 1, "\u4e00\u6176": 1, "\u7814\u7a76\u6240": 1, "\u9752\u5c71": 1, "\u9f8d\u7f8e": 1, "\u672c\u5c71": 1, "\u88d5\u4e00": 1, "\u798f\u7530": 1, "\u5c06\u5927": 1, "\u4e95\u6238": 1, "\u5eb7\u592a": 1, "\u798f\u5cf6": 1, "\u9244\u4e5f": 1, "\u7523\u696d": 1, "\u6280\u8853": 1, "\u7dcf\u5408": 1, "\u7b20\u677e": 1, "\u79c0\u8f14": 1, "\u5c71\u5f62": 1, "\u5b66\u8853": 1, "\u7814\u7a76\u9662": 1, "\u7406\u5b66": 1, "\u90e8\u4e3b": 1, "\u62c5\u5f53": 1, "))": 1, "\u662f\u5e38": 1, "\u6771\u5317": 1, "\u5927\u5b66\u9662": 1, "\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30b3\u30fc\u30c7\u30a3\u30cd\u30fc\u30bf\u30fc": 1, "\u5c3e\u5d0e": 1, "\u6cf0\u52a9": 1, "the": [1, 2, 3], "university": 1, "of": 1, "tokyo": 1, "all": 1, "rights": 1, "reserved": 1, "\u5e74\u5ea6": 1, "\u9ad8\u5ea6": 1, "\u30d7\u30ed\u30b8\u30a7\u30af\u30c8": 1, "\u53d7\u3051": [1, 4], "\u304a\u308a": 1, "\u8457\u4f5c": 1, "\u6240\u6301": 1, "\u78ba\u8a8d": [1, 2, 3, 8, 9, 10], "ubuntu": 1, "linux": 1, "python": [1, 3, 8], "(\u8a3b": 2, "\u5185\u5bb9": [2, 3, 4, 5, 7], "\u30d0\u30fc\u30b8\u30e7\u30f3": 2, "\u306b\u3088\u3063\u3066": 2, "\u5909\u308f\u308b": 2, "\u53ef\u80fd": [2, 7, 8, 9], "\u3002)": [2, 5], "\u5927\u578b": 2, "\u30d0\u30c3\u30c1\u30ad\u30e5\u30fc": [2, 5], "\u6295\u5165": [2, 3, 7], "\u30d0\u30c3\u30c1\u30b8\u30e7\u30d6": [2, 3, 4, 5, 7, 8, 9], "\u8907\u6570": [2, 4, 5], "\u5c0f\u3055\u3044": [2, 8], "\u30bf\u30b9\u30af": [2, 3, 4, 5, 8, 9, 10], "\u4e26\u884c": 2, "\u3068\u3044\u3046": [2, 7, 8, 9], "\u3082\u306e": [2, 5], "\u3067\u3059": [2, 3, 4, 5, 7, 8, 9], "\u30a4\u30e1\u30fc\u30b8": 2, "\u3088\u3046": [2, 3, 7, 8, 9], "n\u500b": 2, "\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9": 2, "\u540c\u6642": [2, 4, 5], "\u51e6\u7406": [2, 5, 7], "wait": 2, "\u306b\u3088\u308a\u3059\u3079": 2, "\u7d42\u4e86": [2, 3, 4, 5, 7, 8, 9], "\u307e\u3067": [2, 7, 9], "\u5f85\u3061": 2, "task": [2, 4, 7], "param": 2, "...": [2, 7], "_n": 2, "\u3053\u306e": [2, 4, 5, 7, 10], "\u3068\u304d": [2, 4, 5], "\u5272\u308a": [2, 5], "\u5f53\u3066": [2, 5], "\u3089\u308c": [2, 5, 8, 9], "\u30ce\u30fc\u30c9": [2, 3, 5], "\u30fb\u30b3\u30a2": 2, "\u9069\u5b9c": 2, "\u5206\u914d": 2, "\u305d\u308c\u305e\u308c": [2, 3, 7], "\u914d\u7f6e": [2, 5], "\u3002\u307e\u305f": 2, "\u591a\u6570": 2, "\u3042\u308b": [2, 4, 5, 7, 8, 9], "\u6642\u306b": 2, "\u5272\u5f53": [2, 5], "\u30ea\u30bd\u30fc\u30b9": 2, "\u5fdc\u3058": [2, 3, 7], "\u6700\u5927": 2, "\u8abf\u6574": 2, "\u30b8\u30e7\u30d6\u30b9\u30af\u30ea\u30d7\u30c8": [2, 3, 4, 5, 7, 8, 9], "\u547c\u3076": [2, 7], "\u5236\u5fa1": 2, "parallel": [2, 3, 5, 7], "\u3002gnu": 2, "\u30ea\u30b9\u30c8": [2, 4, 5, 7, 8, 9], "\u53d7\u53d6\u308a": 2, "\u3053\u308c\u3089": 2, "\u5f15\u6570": [2, 3, 5, 7, 8, 9], "\u30b3\u30de\u30f3\u30c9": [2, 3, 5, 7, 9], "parllel": 2, "\u4f7f\u3063": 2, "list": [2, 3, 4, 7, 8, 9], ".dat": [2, 3, 7, 8, 9], "\u5404\u884c": [2, 5], "\u5217\u6319": [2, 3], "\u304a\u304d": 2, "cat": 2, "\u6642\u5b9f": 2, "\u884c\u6570": 2, "\u74b0\u5883": [2, 3, 5, 6], "\u5909\u6570": [2, 5], "\u304b\u3089": [2, 3, 4, 5, 7, 9], "\u53d6\u5f97": [2, 4], "\u30fb\u30d7\u30ed\u30bb\u30b9": 2, "\u30fb\u30b9\u30ec\u30c3\u30c9": 2, "\u6307\u5b9a": [2, 3, 4, 5, 7], "(node": 2, "\u306b\u3088\u3063": [2, 8, 9], "\u65b9\u6cd5": [2, 3, 5, 10], "\u7570\u306a\u308a": 2, "\u3002slurm": 2, "\u6392\u4ed6": [2, 5], "\u30aa\u30d7\u30b7\u30e7\u30f3": [2, 3, 4, 5, 7], "\u5185\u90e8": 2, "\u767a\u884c": 2, "srun": [2, 5], "\u5177\u4f53": 2, "\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0": [2, 7], "\u8a2d\u5b9a": [2, 5, 7], "\u4e00\u65b9": [2, 9], "\u4ed5\u7d44": 2, "\u306a\u304f": 2, "\u914d\u5206": 2, "\u3002moller": [2, 3, 4, 7], "\u30b3\u30a2": [2, 5], "\u30b9\u30ed\u30c3\u30c8": 2, "\u5206\u5272": 2, "\u30c6\u30fc\u30d6\u30eb": [2, 5, 7], "\u4fdd\u6301": 2, "mpirun": [2, 5], "mpiexec": [2, 5], "\u901a\u3058": 2, "\u5272\u5f53\u30b3\u30a2": 2, "\u30d4\u30f3": 2, "\u7559\u3081": 2, "\u884c\u3044": [2, 7], "\u4f7f\u7528": [2, 3, 5, 7, 8, 9], "mpi": [2, 5], "\u5b9f\u88c5": 2, "\u53c2\u8003": [2, 3], "\u6587\u732e": [2, 3], "[1": [2, 3], "tange": [2, 3], "command": [2, 3], "-line": [2, 3], "power": [2, 3], "tool": [2, 3], "login": [2, 3], "usenix": [2, 3], "magazine": [2, 3], "february": [2, 3], "\u5165\u529b": [2, 3, 7], "yaml": [2, 3, 5, 7], "\u30d5\u30a1\u30a4\u30eb": [2, 3, 4, 6, 8, 9, 10], "\u3082\u3068": 2, "\u5148\u982d": 2, "\u306a\u3063": [2, 7], "\u30d8\u30c3\u30c0": 2, "\u6307\u793a": [2, 5], "\u8a18\u8ff0": [2, 3, 5, 7, 8], "\u3002platform": 2, "\u30bb\u30af\u30b7\u30e7\u30f3": [2, 5, 7, 9], "\u7a2e\u985e": [2, 7], "\u5f62\u5f0f": [2, 3, 4, 5, 7], "\u6574\u5f62": [2, 4], "\u51fa\u529b": [2, 3, 4, 5, 7], "\u30d7\u30ed\u30ed\u30fc\u30b0": 2, "prologue": [2, 7], "\u3002code": 2, "\u30d6\u30ed\u30c3\u30af": 2, "\u4e2d\u8eab": 2, "\u307e\u307e": 2, "\u8ee2\u8a18": 2, "\u5b9a\u7fa9": [2, 3, 4, 6, 10], "\u6b21\u7bc0": 2, "\u8aac\u660e": [2, 4, 5], "\u7b87\u6240": [2, 5], "\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3": [2, 5, 7], "\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb": [2, 3, 6, 10], "\u518d\u5b9f\u884c": [2, 3, 10], "sbatch": [2, 3, 7, 8, 9], "\u4e0e\u3048\u308b": 2, "\u7121\u8996": 2, "\u7de8\u96c6": [2, 3, 7], "\u30bb\u30c3\u30c8": [2, 7], "\u30c7\u30d5\u30a9\u30eb\u30c8": [2, 3, 4, 5], "\u30ea\u30c8\u30e9\u30a4": 2, "\u884c\u3046": [2, 5, 7], "retry": [2, 3, 7], "jobs": [2, 7], "\u3054\u3068": [2, 3, 4, 5, 7], "false": [2, 5, 7], "run": [2, 5, 7], "true": [2, 5, 7], "\u524d\u51e6": [2, 7], "\u30ad\u30fc\u30ef\u30fc\u30c9": [2, 5], "\u307e\u305f": [2, 3, 4, 5, 7], "\u7f6e\u304d": 2, "\u63db\u3048": [2, 3], "\u7d9a\u3044": 2, "\u66f8\u304d\u51fa\u3055": [2, 4, 7], "\u30a8\u30d4\u30ed\u30fc\u30b0": 2, "epilogue": [2, 7], "_parallel": 2, "\u30b9\u30c6\u30fc\u30bf\u30b9\u30d5\u30a1\u30a4\u30eb": 2, "\u53d6\u308a": 2, "_find": 2, "_multiplicity": 2, "\u547c\u3093": 2, "\u8d77\u52d5": 2, "\u591a\u6bb5": 2, "_run": 2, "_task": 2, "\u30e9\u30c3\u30d7": 2, "_setup": 2, "\u304f\u304f\u308a": 2, "\u51fa\u3057": 2, "\u3002pbs": 2, "\u3055\u3089\u306b": [2, 9], "\u60c5\u5831": [2, 4, 5, 7], "\u901a\u308a": 2, "nnodes": 2, "_nnodes": 2, "ncores": 2, "_cpus": 2, "_on": 2, "_node": 2, "nodes": 2, "[]": 2, "_nodefile": 2, "_nodes": 2, "\u9805\u76ee": [2, 5], "\u691c\u7d22": 2, "ncpus": 2, "(pbs": 2, "professional": 2, "omp": 2, "_num": 2, "_threads": 2, "platform": [2, 3, 7], "core": [2, 5], "_core": 2, "\u66f8\u304d\u8fbc\u307e": [2, 8, 9], "ppn": 2, "\u958b\u59cb": [2, 5], "\u3044\u304f\u3064\u304b": [2, 7], "\u8ffd\u52a0": 2, "\u547c\u3070": 2, "\u53c2\u7167": [2, 3, 7], "\u3067\u304d\u308b": [2, 3], "export": 2, "\u307e\u305b": [2, 5, 7], "\u30c7\u30a3\u30ec\u30af\u30c8\u30ea": [2, 3, 5, 7, 8, 9], "id": 2, "_taskenv": 2, "\u57fa\u3065\u3044": 2, "\u76f4\u524d": 2, "\u6b63\u5e38": [2, 3, 7], "\u304b\u3069\u3046": [2, 3, 4], "_is": 2, "_ready": 2, "\u30c1\u30a7\u30c3\u30af": 2, "\u3044\u308b": [2, 3, 5, 7, 8, 9], "\u7d99\u7d9a": [2, 3], "\u305d\u308c": [2, 7], "\u4ee5\u5916": 2, "\u30b9\u30c6\u30fc\u30bf\u30b9": 2, "\u4e2d\u65ad": 2, "code": [2, 5, 7], "\u305d\u306e\u969b": 2, "\u73fe\u5728": 2, "\u30b9\u30fc\u30d1\u30fc\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30b7\u30b9\u30c6\u30e0": [2, 3, 7, 8, 9], "\u7528\u610f": [2, 3, 5, 7], "\u3046\u3061": 2, "\u90e8\u5206": [2, 5], "\u307e\u3068\u3081": [2, 8], "\u3068\u304a\u308a": 2, "\u9078\u629e": 2, "\u30d5\u30a1\u30af\u30c8\u30ea": 2, "register": 2, "_platform": 2, "\u767b\u9332": 2, "/_": 2, "init": [2, 3], "__": [2, 3, 8], "py": [2, 3], "import": 2, "\u3057\u3066": [2, 8, 9], "\u304a\u304f": [2, 7], "\u30d1\u30e9\u30e1\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb": 2, "system": [2, 5, 7], "\u306a\u308a": [2, 4, 5, 7], "baseslurm": 2, "\u56fa\u6709": 2, "\u63db\u3048\u308b": 2, "\u6587\u5b57": [2, 5, 7], "_command": 2, "()": 2, "\u30e1\u30bd\u30c3\u30c9": 2, "\u623b\u308a\u5024": 2, "\u4e0e\u3048": 2, "\u3053\u3053": 2, "\u5177\u4f53\u4f8b": 2, ".py": [2, 3, 8], "\u304f\u3060": [2, 3, 7, 8, 9], "\u3055\u3044": [2, 3, 7, 8, 9], "openpbs": 2, "torque": 2, "basepbs": 2, "\u4ed5\u65b9": 2, "2\u901a\u308a": 2, "select": 2, "=n": 2, ":ncpus": 2, "\u66f8\u5f0f": [2, 4, 5], "node": [2, 5, 7], ":ppn": 2, "\u5f8c\u8005": 2, "\u7528\u3044\u308b": 2, "self": 2, ".pbs": 2, "_use": 2, "_old": 2, "_format": 2, "\u5bfe\u8c61": [2, 3, 5, 7], "\u9650\u5b9a": 2, "\u3002kugui": 2, "\u3042\u305f\u308a": [2, 5], "\u57fa\u5e95": 2, "\u518d\u5b9a": 2, "setup": 2, "\u53d6\u308a\u51fa\u3057": 2, "\u8fd4\u3057": 2, "generate": 2, "_header": 2, "\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u30aa\u30d7\u30b7\u30e7\u30f3": 2, "_function": 2, "\u5b9f\u4f53": 2, "\u4f5c\u3089": 2, "_variable": 2, "_body": 2, "\u57cb\u3081\u8fbc\u307f": 2, "\u306b\u95a2\u3059\u308b": [2, 5], "\u30fb\u30ce\u30fc\u30c9": 2, "\u30db\u30b9\u30c8": 2, "\u3057\u304b": 2, "\u4f5c\u6210": [2, 3, 4, 8, 10], "printenv": 2, "\u6709\u52b9": [2, 5], "\u4e00\u89a7": [2, 7], "_debug": 2, "\u30c7\u30d0\u30c3\u30b0": 2, "\u3082\u3057": 2, "\u30b8\u30e7\u30d6": [2, 3, 4, 5, 7, 8, 9], "\u3046\u307e\u304f": 2, "\u306a\u3044": [2, 3, 4, 5, 7], "\u6b63\u3057\u304f": [2, 7], "\u307f\u3066": 2, "\u3060\u3055\u3044": [2, 7], "\u5fc5\u8981": [3, 5, 7], "\u30e9\u30a4\u30d6\u30e9\u30ea": [3, 5], "htp": 3, "\u542b\u307e\u308c\u308b": [3, 8, 9], "moller": [3, 5, 7, 10], "ruamel": 3, ".yaml": [3, 7, 8, 9], "\u30e2\u30b8\u30e5\u30fc\u30eb": 3, "tabulate": 3, "\u30b5\u30fc\u30d0": 3, "\u30b5\u30a4\u30c8": 3, "github": 3, "\u30ea\u30dd\u30b8\u30c8\u30ea": 3, "\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9": 3, "git": 3, "\u5834\u5408": [3, 4, 5, 7, 8, 9], "clone": 3, "https": 3, ":/": 3, ".com": [3, 5], "/issp": [3, 7], "-center": 3, "-dev": 3, "/moller": [3, 7], ".git": 3, "cd": [3, 7], "pip": 3, "install": 3, "_status": [3, 6, 7, 8, 9], "\u69cb\u6210": [3, 4, 6, 10], "--": [3, 4, 5, 7], "readme": 3, ".md": 3, "pyproject": 3, ".toml": 3, "docs": [3, 7], "|-": [3, 4, 7], "ja": 3, "en": 3, "tutorial": 3, "src": 3, "main": 3, "base": 3, "_slurm": 3, "_pbs": 3, "_default": 3, "default": [3, 5], "function": 3, "utils": 3, "sample": [3, 7], "\u307e\u305a": [3, 8], "\u8a73\u7d30": [3, 7], "job": [3, 4, 7, 8, 9], ".sh": [3, 7, 8, 9], "input": [3, 4, 7, 8, 9], "\u306a\u308b": [3, 5, 7, 8, 9], "\u8ee2\u9001": [3, 7], "\u76f8\u5bfe": 3, "\u30d1\u30b9": [3, 5], "\u7d76\u5bfe": 3, "\u305f\u3089": 3, "\u30b7\u30b9\u30c6\u30e0b": [3, 7], "(ohtaka": [3, 7], "\u30b7\u30b9\u30c6\u30e0c": [3, 7], "(kugui": 3, "\u30b1\u30fc\u30b9": [3, 7], "\u793a\u3057": [3, 5, 7], "\u7d9a\u3051": 3, "\u30b9\u30af\u30ea\u30d7\u30c8": [3, 7, 8, 9], "\u6e21\u3059": 3, "\u4f7f\u308f": [3, 5], "qsub": 3, "\u7d50\u679c": [3, 7, 8, 9], "\u30d1\u30e9\u30e1\u30fc\u30bf\u30bb\u30c3\u30c8": [3, 7], "\u96c6\u8a08": [3, 4], "\u30ec\u30dd\u30fc\u30c8": [3, 4], "\u518d\u958b": 3, "\u9014\u4e2d": 3, "\u7d42\u308f\u3063": 3, "\u540c\u3058": 3, "\u3082\u3046": 3, "\u4e00\u5ea6": 3, "\u672a\u5b9f\u884c": [3, 4, 7], "\u672a\u5b8c": 3, "\u542b\u3080": [3, 8], "\u30a8\u30e9\u30fc": [3, 4, 7], "\u3001-": 3, "\u4ed8\u3051": [3, 4], "\u66f8\u304d": 3, "_script": 4, "_yaml": 4, "\u8aad\u307f\u8fbc\u307f": 4, "-o": 4, "output": [4, 5, 7, 8], "\u51fa\u529b\u5148": 4, "_file": [4, 5], "\u3088\u308a": 4, "\u512a\u5148": [4, 5, 7], "\u6a19\u6e96": [4, 5, 7, 8], "-h": 4, "\u30d8\u30eb\u30d7": 4, "\u8868\u793a": 4, "\u72b6\u6cc1": [4, 10], "[--": 4, "text": 4, "csv": 4, "html": 4, "ok": 4, "failed": 4, "skipped": 4, "collapsed": 4, "yet": 4, "[-o": 4, "\u5b8c\u4e86": 4, "\u3002input": 4, "\u3002list": 4, "\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb": [4, 7], "\u53ce\u96c6": [4, 7], "\u30c6\u30ad\u30b9\u30c8": [4, 5], "\u30e2\u30fc\u30c9": 4, "\u306e\u3044": [4, 5], "\u305a\u308c": [4, 5, 7], "-text": 4, "-csv": 4, "\u30ab\u30f3\u30de": 4, "\u533a\u5207\u308a": 4, "-html": 4, "\u683c\u7d0d": [4, 7], "\u308c\u308b": [4, 7, 9], "stat": 4, "_{": 4, "}.": 4, "dat": 4, "\u30d5\u30a3\u30eb\u30bf": 4, "\u5168\u3066": 4, "-ok": 4, "\u306e\u307f": [4, 5, 7], "-failed": 4, "\u30b9\u30ad\u30c3\u30d7": [4, 7], "-skipped": 4, "-yet": 4, "-collapsed": 4, "-all": 4, "\u3002(": [4, 5, 7], "\u7528\u3044": [4, 8, 9], "\u8aad\u307f": 4, "\u3084\u3059\u3044": 4, "\u5168\u822c": 5, "\u30b7\u30b9\u30c6\u30e0": [5, 6, 7], "name": [5, 7], "\u7a7a\u6b04": 5, "\u901a\u5e38": 5, "description": [5, 7], "\u30b3\u30e1\u30f3\u30c8": 5, "\u6271\u308f": [5, 7], "\u3002\u3044": [5, 7], "queue": [5, 7], "\u540d\u79f0": 5, "\u30ad\u30e5\u30fc": 5, "\u6574\u6570": 5, "\u30b3\u30a2\u6570": 5, "\u6570\u5024": 5, "\u7bc4\u56f2": 5, "\u3002ohtaka": 5, "elapsed": [5, 7], "\u6642\u9593": 5, "hh": 5, ":mm": 5, ":ss": 5, "options": 5, "\u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u30aa\u30d7\u30b7\u30e7\u30f3": 5, "\u5192\u982d": 5, "#pbs": 5, "#sbatch": 5, "\u542b\u3081": 5, "\u6587\u5b57\u5217": 5, "mail": 5, "-type": 5, "=begin": 5, "end": 5, "fail": 5, "-user": 5, "=user": 5, "@sample": 5, "requeue": 5, "- -": 5, "bea": 5, "-m": 5, "user": 5, "-r": 5, "\u3002epilogue": 5, "\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8": [5, 9], "\u8a18\u6cd5": 5, "\u57cb\u3081\u8fbc\u307e": 5, "\u30ad\u30fc": [5, 7], "\u5024\u3068\u3057\u3066": [5, 7], "\u4e26\u5217\u5ea6": 5, "\u30d7\u30ed\u30bb\u30b9": 5, "\u30b9\u30ec\u30c3\u30c9": 5, "\u6e80\u305f": 5, "\u8a70\u3081": 5, "\u4ee5\u4e0a": 5, "\u4f7f\u3046": [5, 6, 7], "\u5360\u6709": 5, "\u9010\u6b21": [5, 7], "\u3002mpi": 5, "/openmp": 5, "\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u30d7\u30ed\u30b0\u30e9\u30e0": 5, "prog": 5, "arg": 5, "..": [5, 8, 9], ".]": 5, "\u5b9f\u969b": 5, "\u7f6e\u304d\u63db\u3048": 5, "\u4e00\u884c": 5, ")\u3002": 5, "\u79fb\u52d5": [5, 7, 8], "\u76f4\u4e0b": 5, "\u4eee\u5b9a": 5, "\u30e9\u30a4\u30bb\u30f3\u30b9": 6, "\u958b\u767a": 6, "\u8ca2\u732e": 6, "\u30b3\u30d4\u30fc\u30e9\u30a4\u30c8": 6, "\u52d5\u4f5c": 6, "hphi": [6, 10], "\u306b\u3088\u308b": [6, 10], "dsqss": [6, 10], "\u30d0\u30eb\u30af": 6, "/tutorial": 7, "\u30b5\u30f3\u30d7\u30eb": 7, "\u5b9f\u65bd": 7, "\u3053\u3053\u3067": 7, "\u6307\u3057": 7, "\u306b\u5bfe\u3057": 7, "\u304a\u3044": 7, "\u5358\u4f4d": 7, "\u547c\u3073": 7, "\u524d\u5f8c": 7, "\u540c\u671f": 7, "\u3068\u3089\u308c": 7, "\u301c#": 7, "3\u3064": 7, "\u5bfe\u5fdc": 7, "\u8a18\u8f09": 7, "\u30d5\u30a9\u30fc\u30de\u30c3\u30c8": 7, "\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb": [7, 8, 9], "\u5f8c\u51e6": 7, "testjob": 7, "file": 7, "8cpu": 7, "module": 7, "purge": 7, "load": 7, "oneapi": 7, "_compiler": 7, "openmpi": 7, "classic": 7, "ulimit": 7, "unlimited": 7, "source": 7, "home": 7, "/materiapps": 7, "/intel": 7, "/parallel": 7, "/parallelvars": 7, "sh": 7, "start": 7, "echo": 7, "hello": 7, "world": 7, ".\"": 7, "result": [7, 8], ".txt": 7, "sleep": 7, "_again": 7, "again": 7, "done": 7, "date": 7, "\u5171\u901a": 7, "\u6700\u521d": 7, "\"start": 7, "\u884c\u308f": 7, "\u3001\"": 7, "\u306e\u3067": 7, "paralle": 7, "\u540c\u69d8": 7, "\u6700\u5f8c": 7, "\u4ed5\u69d8": 7, "\u4e21\u65b9": 7, "\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30d1\u30e9\u30e1\u30fc\u30bf": 7, "\u306a\u304a": 7, "bash": [7, 8, 9], "\u30b7\u30a7\u30eb": 7, "\u30ed\u30b0\u30a4\u30f3\u30b7\u30a7\u30eb": 7, "csh": 7, "\u6ce8\u610f": 7, "\u500b\u5225": 7, "\u305f\u3068\u3048": 7, "usr": 7, "/bin": 7, "/ls": 7, "1d": 7, "\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8": [7, 8, 9], "\u30e6\u30fc\u30c6\u30a3\u30ea\u30c6\u30a3\u30fc\u30d7\u30ed\u30b0\u30e9\u30e0": 7, "\u4ed8\u5c5e": 7, "make": [7, 8, 9], "_inputs": [7, 8, 9], "\u76f8\u5f53": 7, "dataset": 7, "\u30b3\u30d4\u30fc": [7, 8], "cp": 7, ", \"": 7, "\u3002\u30ed\u30b0": 7, "\u7701\u7565": 7, "\u300co": 7, "\u3001\u300c": 7, "-\u300d": 7, ".\u300d": 7, "\u4eca\u56de": 7, "\u304c\u308f\u304b\u308a": 7, "\u5f8c\u7d9a": 7, "\u308c\u307e\u305b": 7, "\u78ba\u7387": 7, "\u3044\u307e\u305b": 7, "\u6210\u529f": 7, "\u72ec\u7acb": 7, "\u3064\u3051": 7, "\u5909\u66f4": 7, "\u518d\u6295": 7, "\u4e0a\u8a18": 7, "\u3002dataset": 7, "\u3002task": 7, "\u3067\u304f": 7, "\u9806\u756a": 7, "\u7ba1\u7406": 7, "\u3053\u308c": [8, 9], "\u91cf\u5b50": [8, 9], "\u591a\u4f53": [8, 9], "\u554f\u984c": [8, 9], "\u7d4c\u8def": 8, "\u7a4d\u5206": 8, "\u30e2\u30f3\u30c6\u30ab\u30eb\u30ed": 8, "\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30d1\u30c3\u30b1\u30fc\u30b8": [8, 9], "\u5468\u671f": [8, 9], "\u5883\u754c": [8, 9], "(dsqss": 8, "\u7528\u8a9e": 8, "\u53cd\u5f37": [8, 9], "\u78c1\u6027": [8, 9], "\u30cf\u30a4\u30bc\u30f3\u30d9\u30eb\u30af": [8, 9], "\u78c1\u6c17": 8, "\u611f\u53d7": 8, "\\chi": 8, "\u6e29\u5ea6": 8, "\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc": 8, "\u516c\u5f0f": [8, 9], "\u306b\u5bfe\u5fdc": [8, 9], "\uff08htp": [8, 9], "\u30d1\u30c3\u30b1\u30fc\u30b8": [8, 9], "issp": [8, 9], "\uff08\u3059": 8, "\u5b58\u5728": 8, "\u524a\u9664": 8, "\u518d\u5ea6": 8, "\uff09\u3002": 8, "\u4f5c\u696d": [8, 9], "\uff08\u4f8b": 8, "\u4fdd\u5b58": [8, 9], "\u30b8\u30e7\u30d6\u30ea\u30b9\u30c8": [8, 9], "\u9001\u4fe1": [8, 9], "\u72b6\u614b": [8, 9], "\u96c6\u3081\u308b": [8, 9], "\u96c6\u3081": [8, 9], "/extract": 8, "_result": 8, "\u5e73\u5747": 8, "\u8aa4\u5dee": 8, "\u66f8\u304d\u8fbc\u307f": [8, 9], "\u8996\u899a": [8, 9], "gnuplot": [8, 9], "plot": 8, "_m": 8, "plt": 8, "persist": [8, 9], "afh": 8, "\u9055\u3044": 8, "\u52b1\u8d77": [8, 9], "\u30ae\u30e3\u30c3\u30d7": [8, 9], "\u6d88\u5931": 8, "\u6b8b\u308b": 8, "\u306e\u3069\u3061\u3089\u304b": 8, "\u53cd\u6620": 8, "\u975e\u5e38": 8, "\u4f4e\u6e29": 8, "\u9818\u57df": 8, "\u6709\u9650": [8, 9], "\u3069\u3061\u3089\u304b": 8, "\u30b5\u30a4\u30ba": [8, 9], "\u52b9\u679c": [8, 9], "\u30b9\u30d4\u30f3\u30ae\u30e3\u30c3\u30d7": [8, 9], "\u958b\u304d": 8, "\u30c1\u30a7\u30fc\u30f3": 8, "\u4f4e\u4e0b": 8, "\u6b63\u78ba": 9, "\u5bfe\u89d2": 9, "\u5316\u65b9": 9, "2s": 9, "\\delta": 9, "\u30b7\u30b9\u30c6\u30e0\u30b5\u30a4\u30ba": 9, ".,": 9, "\u30a8\u30cd\u30eb\u30ae\u30fc\u30ae\u30e3\u30c3\u30d7": 9, "extract": 9, "_gap": 9, "\u9577\u3055": 9, "\u30da\u30a2": 9, "gap": 9, ".plt": 9, "\u30ae\u30e3\u30c3\u30d7\u30c7\u30fc\u30bf": 9, "\u4e88\u60f3": 9, "\u66f2\u7dda": 9, "\u30d5\u30a3\u30c3\u30c8": 9, "(l": 9, "= \\": 9, "delta": 9, "_\\": 9, "infty": 9, "/l": 9, "\\exp": 9, "(-": 9, "cl": 9, ").": 9, "\u30b0\u30e9\u30d5": 9, "\u63cf\u753b": 9, "\u5bfe\u6570": 9, "\u88dc\u6b63": 9, "\u307e\u307e\u3067\u3059": 9, "\u5916\u633f": 9, "\u4ee5\u524d": 9, "\u4f8b\u3048": 9, "qmc": 9, "\uff08todo": 9, "and": 9, "kato": 9, "prl": 9, ")\uff09": 9, "\u3068\u3088\u304f": 9, "\u3042\u3063": 9, "\u5931\u6557": 10}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"moller": [0, 1, 2, 4, 6, 8, 9], "users": 0, "guide": 0, "contents": 0, "\u6982\u8981": [1, 2], "\u30e9\u30a4\u30bb\u30f3\u30b9": 1, "\u958b\u767a": 1, "\u8ca2\u732e": 1, "\u30b3\u30d4\u30fc\u30e9\u30a4\u30c8": 1, "\u52d5\u4f5c": [1, 2], "\u74b0\u5883": 1, "\u62e1\u5f35": 2, "\u30ac\u30a4\u30c9": 2, "\u306b\u3088\u308b": [2, 8, 9], "\u30d0\u30eb\u30af": 2, "\u5b9f\u884c": [2, 7, 8, 9], "\u306b\u3064\u3044\u3066": [2, 8, 9], "\u751f\u6210": [2, 7], "\u308c\u308b": 2, "\u30b9\u30af\u30ea\u30d7\u30c8": 2, "\u69cb\u6210": [2, 5, 7], "script": 2, "\u95a2\u6570": 2, "\u30b7\u30b9\u30c6\u30e0": 2, "\u4f7f\u3046": 2, "\u30af\u30e9\u30b9": 2, "slurm": 2, "\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9": 2, "pbs": 2, "\u7d30\u304b\u3044": 2, "\u30ab\u30b9\u30bf\u30de\u30a4\u30ba": 2, "\u5fc5\u8981": 2, "\u5834\u5408": 2, "\u65b0\u3057\u3044": 2, "\u30bf\u30a4\u30d7": 2, "\u5bfe\u5fdc": 2, "\u305b\u308b": 2, "\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0": 2, "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb": 3, "\u57fa\u672c": [3, 7], "\u4f7f\u3044\u65b9": [3, 7], "\u30b3\u30de\u30f3\u30c9\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9": 4, "_status": 4, "\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8": 5, "\u5b9a\u7fa9": [5, 7], "\u30d5\u30a1\u30a4\u30eb": [5, 7], "\u5168\u4f53": 5, "platform": 5, "prologue": 5, "epilogue": 5, "jobs": 5, "\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb": [5, 7], "\u7db2\u7f85": [6, 7], "\u8a08\u7b97": [6, 7, 8, 9], "\u30c4\u30fc\u30eb": 6, "\u4f5c\u6210": 7, "\u3059\u308b": 7, "\u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u30b9\u30af\u30ea\u30d7\u30c8": 7, "\u72b6\u6cc1": 7, "\u78ba\u8a8d": 7, "\u5931\u6557": 7, "\u30bf\u30b9\u30af": 7, "\u518d\u5b9f\u884c": 7, "dsqss": 8, "\u3053\u306e": [8, 9], "\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb": [8, 9, 10], "\u6e96\u5099": [8, 9], "\u65b9\u6cd5": [8, 9], "hphi": 9}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 60}, "alltitles": {"Moller Users Guide": [[0, "moller-users-guide"]], "Contents:": [[0, null]], "\u6982\u8981": [[1, "id1"]], "moller\u3068\u306f?": [[1, "moller"]], "\u30e9\u30a4\u30bb\u30f3\u30b9": [[1, "id2"]], "\u958b\u767a\u8ca2\u732e\u8005": [[1, "id3"]], "\u30b3\u30d4\u30fc\u30e9\u30a4\u30c8": [[1, "id4"]], "\u52d5\u4f5c\u74b0\u5883": [[1, "id5"]], "\u62e1\u5f35\u30ac\u30a4\u30c9": [[2, "id1"]], "moller\u306b\u3088\u308b\u30d0\u30eb\u30af\u5b9f\u884c": [[2, "moller"]], "moller\u306e\u52d5\u4f5c\u306b\u3064\u3044\u3066": [[2, "id2"]], "moller\u3067\u751f\u6210\u3055\u308c\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u69cb\u6210": [[2, "id3"]], "moller script\u306e\u95a2\u6570\u306e\u6982\u8981": [[2, "moller-script"]], "moller\u3092\u4ed6\u306e\u30b7\u30b9\u30c6\u30e0\u3067\u4f7f\u3046\u306b\u306f": [[2, "id4"]], "\u30af\u30e9\u30b9\u69cb\u6210": [[2, "id5"]], "SLURM\u7cfb\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9": [[2, "slurm"]], "PBS\u7cfb\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9": [[2, "pbs"]], "\u7d30\u304b\u3044\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u304c\u5fc5\u8981\u306a\u5834\u5408": [[2, "id6"]], "\u65b0\u3057\u3044\u30bf\u30a4\u30d7\u306e\u30b8\u30e7\u30d6\u30b9\u30b1\u30b8\u30e5\u30fc\u30e9\u306b\u5bfe\u5fdc\u3055\u305b\u308b\u306b\u306f": [[2, "id7"]], "\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0": [[2, "id8"]], "\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3068\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9": [[3, "id1"]], "\u30b3\u30de\u30f3\u30c9\u30ea\u30d5\u30a1\u30ec\u30f3\u30b9": [[4, "id1"]], "moller": [[4, "moller"]], "moller_status": [[4, "moller-status"]], "\u30d5\u30a1\u30a4\u30eb\u30d5\u30a9\u30fc\u30de\u30c3\u30c8": [[5, "sec-fileformat"]], "\u69cb\u6210\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb": [[5, "id2"]], "\u5168\u4f53": [[5, "id3"]], "platform": [[5, "platform"]], "prologue, epilogue": [[5, "prologue-epilogue"]], "jobs": [[5, "jobs"]], "\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb": [[5, "id4"]], "\u7db2\u7f85\u8a08\u7b97\u30c4\u30fc\u30eb (moller)": [[6, "moller"]], "\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9": [[7, "sec-tutorial"]], "\u69cb\u6210\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b": [[7, "id2"]], "\u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u751f\u6210\u3059\u308b": [[7, "id3"]], "\u30ea\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3059\u308b": [[7, "id4"]], "\u7db2\u7f85\u8a08\u7b97\u3092\u5b9f\u884c\u3059\u308b": [[7, "id5"]], "\u5b9f\u884c\u72b6\u6cc1\u3092\u78ba\u8a8d\u3059\u308b": [[7, "id6"]], "\u5931\u6557\u3057\u305f\u30bf\u30b9\u30af\u3092\u518d\u5b9f\u884c\u3059\u308b": [[7, "id7"]], "DSQSS \u306b\u3088\u308b moller \u8a08\u7b97\u306e\u4f8b": [[8, "dsqss-moller"]], "\u3053\u306e\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb\u306b\u3064\u3044\u3066": [[8, "id1"], [9, "id1"]], "\u6e96\u5099": [[8, "id2"], [9, "id2"]], "\u5b9f\u884c\u65b9\u6cd5": [[8, "id3"], [9, "id3"]], "HPhi \u306b\u3088\u308b moller \u8a08\u7b97\u306e\u4f8b": [[9, "hphi-moller"]], "\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb": [[10, "sec-tutorial"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/manual/v1.0.0/ja/moller-usersguide.pdf b/manual/v1.0.0/ja/moller-usersguide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2df20cb5bfa18181946e4966561846498f758c33 GIT binary patch literal 151271 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

eCeLwwlvn3xvfFuZA2`LDf1C6%l_@=GU z6WhmRp%BX{iF{0@x~mpK(uah@A+m(;b_sGoN&KIB(o4U z=t89Jma6*x&<7ZuS0Nn`kOig+aLUCw_=-`%5~8;(`Mk=awL^u>x3(N##Jp8=kWc=zs91 z^TBafM>-jTRrn@lxkd}o7)NJ%EpWsQ27@K_rEycji1M)`dRx9h5FjSh@L)-4SRn}a z7(S?}InAd1BOxby%B&J!?ludYmx#p|vj5MQ&r$e44x(zJ~~VWnR)u`WrRj++yr zJ+W?Yg~;@>IFwQKTO0OilX_Bks!0okWnSyrjElHf-;q;k#jf*(M;_7qB7I!%BhSav z2izm5w}AV8UBA7@-|+hp!U^pW(eQH6G^PHSrY*p19|HA-{faprz)$SM{7QVuw&d89 z+u!CjbBPm;tdtFmp?p8S)M{MRhW*OSD4YIB%#m^$hwb>e|1%oxT5&#ZvOAM-iX>t* zS|JX7$Br7zi8yK#2Qhuak{!C1AaRHYW-Qfr@&91#oq|ORnl0UB?Pc4xZQHhO+t|yt zZQHhO+qUjL_jX70iTI=MiKv(l^R$k*H@F6qntC2*nbl4r1L@K5)f`@pR?^LPy-v3eu(tyE9RuDGh3I7rJ z*dLh!a$$@ZT11pI{bAa9FJ~2->6GL5E(mF8N}%`&Y0{P>?XDwxN}_wr-I2g~oq{d+ zAbTc8$#8Bg4MQPDk!XU2aB?{$hP2nwC0BR<^bI=+H;^2TQqE2q_Z&+0Uq{D|F3gCC zhq>f)QaQFBc71CNl&`hc7yA$!SE=`|0Rm)<#Z&MthQ<7NSX%MRf;*O{>e_{8F+O-k z6f8<+W#h6wd53Vkb@iq?{buDe`CPB3fNVMAuvS78-@$tTM^`#V*y7B1u~u%A0yKA! znEmeltAou6%U+J|uC^}i_O*Iv<|HNgGv`hEl15EkR&(-m@9dg5Tq4R4vLuG7tgF6H zcnZu5)9Vs(3)r4Ms8$~RlY`1xa$%~k|8VHC{ExcZF|aT*|Mx?8+YXBj+HY6S!OO`% zN76@O0shFK4^!U`=V1l4-^XM6f?DGWnyQY^cWG6_&0%3pViCy760f*W{6Z{(Q0H6a z9_lPsO?1w$tV0Sjd*Sr;i34YpFIS~@w`_tT45+fvM1^ToWtc^2OV#YV6SP$fZ^pOU zmm{+V0mUr}xZ=8CgPl}c-37Y3fy{UNlC1-=4?g52OOQc8RRF#^hHz9ERV-9fB*w_T znqypAke-YmEClNBNX5!n6id7st5lp1uw$NC>3KNw3BHb8Q}kmsZ@LXQI+;Wth~!7g zSmmy)oAgdmG*V53L`cC}+g>1s*+B_1_&dAinB+vCJfu_1!cC$cz=^JsX%C% zCi(Cju^mj1f3apD0+0G7KPE6DB;%%V$0YG^+B9g$v>q(EO$r?NzL;v3n5De*?&!d@1l57 zk-}du7Jn=U?4%nTIL3s92;5%KQI$j(ncTP&g%XXO=zk_ADdaggE~JQz)NnDe8uKOc z`}N_VXkWsNsrDC{@ZQEHMhRye8@#g0AuFJod+p-V96ub3(a)2AP3x6!ZNI_ulBe=p z;4W4}8ok_GTHKW71_f!1TB8=pFvVgc2k*Ul;lb?X=JfmNiDPoj&4X$AHzFCN1ckZC)Lpa)dIt~VR}K0g4go0(1;ct3 zQ4Lyu6A@(O_Q`wG;mCj>rih6CYXEfve6 zWZV%f5h69MGqe;VQ&}Ch5yJq}@3v&!H9efS+(IRVwh@%@@yuF))ppG5lF6ymlyyEE zha@(03&`LROy2lVQ{MG2Fim4J=_5->kNrE@lT`)vIfBmIgu3`!M^pqDS()l0%u_a` z+yW*P#DYu1BfJm-YC?g^XVi^*8MKdj7g+#TtRIG)BvZuZ`M}4;vH}e=^~J}9tB?bV z*!kW90P6dbtPym{aEIPTOH(3oO@`^IJXV4;G8Gn zkb!%MNAh$+cP;n64+^2W>8Y%0D1`4AvPRlM^Rz3l+iX*wmJEk<7^k7z4{nhrOs6a{ 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

q|5i#*=y)){Pe2nr6G;DEv|e(rHv+&2VMog!T9B zgij1)pk|}mmKK!x(CI&c+h+agD9mzTjgYJyo8EBizZx_pf10=O-Ef9*woS!8B1h~d zw(VhWdr!KXR_lCpMX1l`rjVE0g4vHh6dH+!%Q~X@=)*cYH{ur|4>q9xfC?90;k^_K>;^FWk zuX|O~FS+l_0QON>4Rd8|8_Y7T8e$r-(-Rn_ z4oEm-TVGYm5hk^hrGfVeUdSSvj9oYkE_KTf>`6xB2hUPlyVd=BVc@76@l^Ty$m<9m zo}Gd~2H1!PDronPPBF=uMWc&EYAZVv#F$C$B(xrWikTJnmWQBe4? z^ia3wryLh}9pPr4litJdq3W%hAaso6e(S!wv@+H#Cbe~+ZlNtqV!y|sw07c1@O-=h zsM%r`aeVA0a8x(Q52P{G?=RO3soNL6zb_>4o|yTeRV)rR78oGWYP`}gSj7-NIu+Y2vOI3En#lLH=qC-7^RSa^E zBLYffiI-lNt$@G$JF+b_bYm8i8gqI^tqV=HBkb8N|M*sD_I0Y0?GNm0>XXA%@Wr5a zASjuXtZET^19maHN%C>{pyXemYgG9ly@xL`x4l0}!9JdNunTYM z;6fx1eYXo^Hfk-oYU3>T#Y*XsQIjakX_e%4fBj%oMdoB;Ioau8+_D%%b0ErHzJ@a! zy`Q=6tC&r-O9XuJ8Y15^`{W!Mj)zL4H?s9xo*24{MkY5%eaMJShUsDoFQjPaV2I&s z2E67p^aLeUQR$G3mi-{>LFV5ToCnR1=25!ui8QMy?9XNs8sAG>TgR)HDX(5>?45{B zAX|y=UVyot;vGCY%jUU*c>eI9KM|#hujx66nt5cTc*TUi#t^wkX*K_q94`94{6rq> zPlarogYBRINCR2dM<@~eix`3$2Ure3>CEKWbdUNY3%TWkUiufRIJ=l8@r)L)xIay5 zokqEvJay(;n^TE49YC;Bpie3|wcmQ)$X$ra0Cy^0IV*2V$jxBi3`&)*D8tRg|7H#) zh}06(%7=kML#0VN%7RVCxzgfaT*F-e?CTHr^Xb@n^s<&n+6L{G0Z0zT)w7rU`3@$z zfu?PAgo7lE?4WYm3M=bL2nBp;NI$jsu!g~PL^?GTo|1W3$=qJiaX_MFlVaa^TBNMs z=0icSCV#2VmT8?e&Fg?3_pZ%HKBy&-^F~H1AT$~`!zz*^hqD#mPH4^4S5|LiC;3}* zAHa>%;Q)Q`Z{*;j=$ae{^|EDoJhCLSJIpYp4QOchCI_$*tkB8>yj9lp_JXBMQSOQb zT);Yy9J5wLUS*yxAekO|`2U(lr!3W|O5BgFUTm$tFbLvwmTF01axt)O57 zBpJ$!0hG6tfpum!r$C=C{p&{m1*l^$n6qGHfdHfFkIczYCU?{bj&@oKwMSG2y{K$} z$myHZ>ZwN;QoBU38S`J$KCmXN$bn2QaA%~;OIDRhurdGS-He52HUh`Xw=Zx)&h{ew zQZnT$$Kf+>#Gj;+ntPGl19`y zpzpJQFEy?JX6VjOC{IcI{^7VbOKgqi)}btmYbD*~5e9bJ1k%F+e6YVh-wZZ4xQowh zp$?UR27YaZTH;t2>NeE^6->0uX}oI8eN*P@g>`7S0|1sqEFKFFi<4?}pVk=X@zOEL zX9S9W81}&*9N8iC5IOXokSN`9gkB{7)Drt|3&(mGlnc+;xYo;zjkvz1EQKL==oyO#l{nTt*aFwb2W zorSeH;)aMz#Ukt@NGmOuXrZ`fQl+ckj*!m*9ysDG^!7WXF?ryoK_?)L9q*qI5e$P4 zkjN&i!rt(IzxfmO95I{nA+;XSF#%mPEdglOkG@z9^XGqcrSFDL14N-O{|FSx`mH7%LVFW-LvM;s6P|W zC@k_z+Rkd1uqFeL$MPa4gA0sMN@wQ7v~%IhM}r0ItXjJPy*?W34ccI9%v~0!yf)IO zm{#Vq&TG~WsX;ss3tidsA}pt?H(6pTEVg^T)9sv$tV%shRHRj79>@SQzNimQ`zu}4-L%njjtSH)s-aXLTW`w zWyEBVo-T~@?PNQZf=F(3?fuR`jVCS)QfvxHBJmcWC2%;~wAcNf?N{_>*$bM_+GjAx z?FDDbX2Pr^KD~Tq>w4`zI^=~fbguieg2t%%mAXN&alM`cWo4UvIltcgobvr@GtX@U zgR?98sER$teCLDID4;&dpb!>!3ks8&2`geqn`$rGilXHkJHBHpIGbHiiJz!cl)6k;A>({3WI~lWu!>5+^go!GcYgd zvq8DW7h_jd@_hmwo|dV6REzAdcI_(iAiwIq-A7EO2kKBl$MR1-7_U7zr@D+C`;<7Z z@S(E6_za~tm~4w~YQ((Ax)Bz*5@Oer%o?_TC6RE%l+ezNr^|u9BFoZJ{5=ODO0%~I?C&-d#83^^o%!k(-7B-@1cwi)5QRx@f`Edr-c1p-%i&p7Z_RxeBoqF*WHMX zH`2q^d6k{ce9eo3OfwUM`R750rbQ|#C6>;s!))q0sKS-a1IpGWYfFyuAz+KYAPTiK z_hHu2Q-r>v-GE*qDE^gpiaYC*r=3G>O<_H6-rDEHwqWlMY^aSe}Ab64R z7OMaJr@D<8XctvkbNjbYq5Lm3>bekunlWN&M(EGT424gMSw6{mK6r0Jh>OW@5Ijx( z=cZmBD(i)LJyZUhI#QQkhlJF)-45UhmdDdB`53C8+UZ%1pQdY^4y4jgQ=FRj;j7u` zN_`ipNlCHEWzbgj+`ZhS?62n1^KLiR&cc72Q~eL1)Bk&1$jJU5wURpVTy}x<@PFNY zBe0ZIP|&wV^$Che#i1=K5mRjS@hB7-QV4{8e7^HAIM;q|ylY41egW{A!Ya48Chws%FpYnNBo*m$weHSG%=>U6;((nhPK@P7J5uWXsgVB@}|} znOBI-f+Np~H)M0;@0e-+s;LObSNi$U%@^VwxtT$fCO1ku-D|_=-13yJ_di-0@3%)? z9XOBzGS!+X+~N-4J@(x=Oc6H5`ArJ{KG>2lUPP%sIbzcs=F)A%zOw3g)UPz-xWa>8 zc;T_^tQeafb`QLRNMS@Y|F>2C|Dl#Ju(JI}#e$2nl|0re%8rPju91erfq8@Tl@5v< zDLVuDVG%C(8pS;k39JOeeVfH0JZKnz7$7kMFeniOk1A&;Rdt-IKF|RQFd!Gk>U~o- zX-W0A#G(WeTcViNsuEkebb{<N8yJb#v`jDa`%s{V)-$b z<1^i*b4(RvfSba3lET^k(8Cj`pZH?!voJX4$sRE-N{&QQeUAfGors@y*H~GuIG+t{oDlG^sEg=M4!k$u z{#d)O#t@jSzxY8IZd;X(gZQIK3L{C+f}l9#=AVkpp1{?NY`&f4y}Ib&UI5xre3u0(;&s_!1#))>^;aF6F?fP&X!fk$ORUrQJ)ID< zr{^|ObI<00dRe?O1Ot=%o=#+A2GL_1K$T-4<@<9z+)G~;d@j%q^?IOk8E#d7A+b2V z;`^H$oU&5&u|6Pv`NzaZMtj>rT zu86khv`2l=UN!{( zBJlDD;hp{d2(&zohMM7$bkvTDc0tx28=Nl0uYUaO%=BD+Yv3uKaMF7(;fcs^f2R>wqvGSR<*Yd|{ zNe-OM@~$y1#nfM7HvHV#b48sQ>@lC2K76YWJxF#(R(gYC{YU^q7J*BYhzvt%wWvi* zB{be;;V;&binhP6*hCwrDK&hw6(h)PRk}iysPp%YA5c$=`F}m$nEzLrBR%u~B+lx@ z_uB^2Lx=|%ZX))y8~ zQf<$|`>ZRhunVnPnK)qDsS;}6ZCIf~$#-X^X7U}+VWOgZu6VZq2|Ba0Ew{VVzKo{z zW@YGP1q{#{GrI-ir+BHXyjqOpFKmNrjQlAeLdi1q3SADxq4NXlD_-~gA*8jWe|7(en zfrIHkxW6LGUh+z2sJ*FiTb10%2RQjHZ0k5&hLzx&s|5`aZM>0hHB~BT1b`X*;Qn`t z14R7n5=StA2}41U0wBTv(2kdtYbvhW6)I?8YG&Tb)g81~ZilJc>sTYQzwguDuUxO* zy-qW?ZsG%*nfMY5|0r~i7j0*9g+{C)p&qW1*;V46(gfZZE zgyI94VI-Uq5nJLrcNrHZ51!O>;5S~A-L(+kLFJ2rwVOdVbaV#a(8lwj z1<9niWlkMcQUN~wNu}2ZG_r+)<@f)b1Lbc7py3Kn$(JC{s|SeEFQ}Z9=4^olo#-ptS=DaMR)O@tMMII}6BTNc+s`a#M4t7B44YsCVemYq7=+USeC#GLs z)=GSvR2@*SPf@*GN9uHTqihX=`InQu%~lL=m*m(6;KEJDz*=9qk-_S;pEvI~DSg(Z zC)$-wLE;!>|BAQ$Ea)8J>4`f4sb>-Av+VBS!#133T8EkQV+6t77WvwQdWEBjDPvDu#laWtQMoz)w$zv{3TjP?Vsvoe zC+MB1S5S-QFB?!A++*^2g(m4T#AHfISCo@fxo>>KPI~$PRIar_Je$m$7Ds`8#yx+A^J*wc@j~|L zeQF<{jao2f{t}(s;jV%D1zp3ZW)_8QD^%dpF)t42^h)VA@cB{hC2gTAUDgK%kC+f% z!F`N0sA`gIM7lv;6Dm1f>tSM5RNe>>&5;WfO>0GsPj&CRZ|G9{$DRwWd7MCJ)fj=1 zx0!dSJMHhq3&DN%;Q1Yqe_Wa@4XF9ZZijAsES(O~%>&wkH5L|Lu{X`B)pGf@xm-`0 zqq36P#>$jbzfVoyG@crS`EtHGu0;ha zpQB4+L3y*M*r4G8WW>j3SWcSTwXSby+&5ac{`F@L)5cO^tRd?tYN%@X zIiWAud~R(eJ|$mV)JoE^CfQ{S%-@i=t15qSM+bS$o5OubuxjZ;i4I9G(Yw0zCGfOc zC53p!wlmqm;?g_#kx2TDjQ?(b*5p!DpJTMzn@3P)W~TMBQyy2&Plvl2_4m~ZEhUk( zS4c7AP?yp7Xg(%^?R&~PXXhux9mb3D4In@A!-UYhjEFAoB7Wxdad>#LCl6v5Ka+Q( z>Io(|J1}#?wR6eSP^DcfZvczg=AS0|GEZ^rnSu{4wF-8;2({d%4S(z5O5Z3CR;kM3 zv}L!m{`BO(y{BlFgeoO5XHbz+IpJvC+7I4;yv;=j9Lnt)*g?FX6c5`i9xsw<3m3pp z{_I+=9D18z)$> z;O_43?ykXuZrt5ngS-32-8HytnsdARy>s3@@Aj=%)jw9%`muKHsyXBvonjEu z1^hhZK7j16cGWf0^2(Y@Hu$-Vo!WCrv}@+vx?Ee*YY#0E`3ZK>38?1!g+2*)P?zo; z$f3haOE>Ia9){07wUt-FOUT}AbjwW>KEtvI)YVMhA)MT*BhwWvM8f`#lq2?%=iQztqT^>y0ow59PV0RO6C!K`N^X@^ zP}bM@IVsjJYUZDw))}9lYEauTlf5akLlobT@E@!gLqY_@Yf2TSCU^y^l%mFYewH|3eXh;qHFBc zb0~-UC&b1oW;dD}nCNJj=$MEX`1{vn`uoQ^`Un`yn|O$X1&GuZ2ILeJ{EP~S_4h9b zFto9dH*qk?46rp27qPH0fQgCELr%|1Pti~)$<~jTS5VL^sM6KZsZ2`NEKkw}+7y-K z$z`g?Hvs808lakX)!R~?xlAR_d0aO5SfWpPNtT>|wf_vR7fY`4Z}0WFT$S7aL&uW`Fw3JY5|>=cthMXnmiFIx~K$*(G<$K507< z(uv&xH{zRg?sJ`C{pt_iQCIc_BR!N)+qpPx=Y5Z0)rNbAW2%qo1AywcW{2hpyQT-$ z;4$m;xG916!^Fb)}Mf{KGF^&;ksFdH3AY zZW;mKYIyQ|$)_-v+hu|xJ8Rl93`XQcs;|FFo)n%#T@(w-(0REm?za46&USfEYbwg2 ztS=YLBi+PRnli&{fpL|dU7I4kCjX}A8vb4*SvohnN3rEc{!SazBs6x8Hf+94#R1;j zZnHIr5S^ibA+{jh^l9>9F%Z!HmrwlNr=)CFkv$4BXJt0ICTqc|6yJ7jrpTw#?TOv= z%bvCA@{u=!yBnMxYg_kk_Q0g~y^4I0gteu8ge|((;(vEm%>RRQf`#cX*~EWXP6Vv8 zvoqrSKP-n8ENpT274GqN>%eNBa0Z^w2+Mbf`8CGyjd+6Oekx**4=J7w9K2Ul0QoVB zP^jZGSgZwqfV@tq|M%F~yz;`8t}eC7uC5`@&g@z$7M?sI0aA6v?x~p>Ez$0wt}cac zCiVs@7EUJFZuS~7Qa1J)h@oM5=n2^gDL{$RRP`_wHFfpO0s{lXg5(%rew0C?2{bED zHAy!t2Q2}R0nkWF%iE1k(#l^*j!7%~HESb%<2*RP04C;RP(SP!+GdXTg7>v;5Qc++-BO!W{hdJmlvV%R`5g<} zUy|(q5XkK%%n!T!cY)mAvO>Zv+B~dL_8vdgh24h0_adne5IRWl?WXvK)(!F87(7n) zl8ttCU8o`py=_CqZb0zo-B7DVg%Q*|Fs%dS>S4m3ewbdU_?B$!QwEl=S4H%`~;R*wi$&kGs265C@c|g^5Zu zW{XBZAe!3INm5eM3Hd(8$sT6Giuo}W&@|DA3Zej`2qU4Okg9p_Ac5+Ee7}&!&pQ{2 zBIDW-PC`;40?q4MQ6b{WPsV8W!{<|YsmMsWJ3g)lpFVE}u9vkF#vRx0-mwirpL5hx z9gSJg;?6o@Lyf2GeaGv`Cjc0IgjLT!2wX}!gF?g$uvo#nGTP=^Yjv%OQhmFqXy_ujzi z3dEenll{I0&du56?vI8Lem=I~2b-!KcnPPMoy0)q}fiLKp)g&9q!f)ziXHoBfeeXnxdEWGY0h@Q@ ze*<>Bowd;49oL`Yn}1)+|9T(wpIUy85C(re_Yb%8uI2O(2PC~M+Xoi&gv{@52itdu z={3gmzqlQScej&4DCC0y7JJMez$E<-z}778Fm^DIm-li12SooTWRoXX{eRW(_MCs# z?=wRsi2tMCNALP=qy|0-c%XNFXua_o&|T@o412?1rTYz7UK^HYtMe>eeK~tOgSlSt z!E|#vY3-UB<^esom^w`spIe?i0_s-J>?d3Y=7qI+$k*^18rGDr*0isEBYZGfHy;Kk zRkWuvvO3E>8^7vaZfD)S+W@Vs>AMYN7CvQ#IDSS_MMApQuk2k7!MwTvV>-VNApxuO z3SIg;!Twu~2+V(7Bd#qs`fdlvZ6~yM$qM0nWE^Ng#2icyQ$?s69`OYYmc``6qf;;5 z#>3;pQ0BTUb)#g$&c#aSMD7h5vxnKI3H2Pu!>~c0T6JQb5Na`PN_rSR*@!88wZ9&N z3fjFswbb=pZM|u-Kil%60l||sqByi*1>GvBhCDHI;nB=l=tY8&o$J^;-F+-;pG8<7 zZ^xvazAFu!`&lello|Qh{UHHd;_B;A!6iiwc~mf5y_T~WRsm;q?HCM=JIjiY2q@gv z24<9iCr*J7dd2$NS>R+7)5fPCkQr}|No-5gfiA2xc$h}%;}ND2m55=(8onMEOv%g} z8?gBZUYV+PbX32_jyT=I$##0AQA`*t`961fQhvcx`#LV6aPW1&I?*;J@()Dd#u1g=G6 z@~U*Z-7lam6`vgKn~@IodD+Qn&~t#n=m!Z#yO`wjWV(Q=5*V5gH`c9BknB|Mz;N6W z+>B4RRR}+p#h}fX(2cC!Vlp!X2oU(UmZX8e()wq_k$LMP5Ta}YNZT9{T6`b%PBBQX zAYO^4l$w}Qoc?`Mrvg80ST+%mD)h%}oH&l?`Sc#+Tg;#j;85HArjb_m~;Mw?z7}=Ega2CGZgUD2mA+^9u z<=BO*uPK>&(ne<_VXKAVzKT)nw%jK@EQS?Q9NFTVb^P0fv1N->6erZG4oWTLdEX%@ zNlMFtPmdk4&ga0K`4s|f9g=2yfkp^{X;I=lxPB2a}_x5RP6iAP``1Bnyr1 zKw#vG$vhpL3Rld;q~t$cr@-T8*chc8N{-!x7Z<^~tgXF$A{2?nJ3r1o#(0UFoWn_le;wBHno*YAB?RKLTSjlLyr}YL(MN=~_KfbzsSU(}J4GWyW`?Le3^dsXk6h3HmN)+%Ds))%(6wB6oSoQB08-Cp zu<^4WZdC5D^kzlewSFCw_xQzs$v1irWkeJ6(!Y}mUsJ5MCZoWzUa`~d?VK(rPG;M! zrY(#USCgL8zcxaobF*k{rh}pB##+Mo1S(ei@*%fb?xAww?dAXZ;8>Xd1b#~HcE${{1{R7= z)(kR4OdRYCBIXW`PDJnZ9bevGt(=S<7(}e}os5Ny4Q-8#8KjJDOr6Y#*w|S9!b*&5 znLC1p=HGZbzisFgmk6~p*h&|`La)Gk>iK=(b&Cx<=WrQt!E*3@^_FQeYBCxg!ftkk zsns~%OTSJpkZq!aJ7-RWsbn5z+443at907853GrV3zUqvx3&i`pW#&k5Th+w=MMYr zCtCV<8qX;Lgvb>sCydF^Ab*@gmdI_L3__!#sxC6)hg@P~g8UTZAEY2)AZdrpy8Z$62OOea z{s1wDG72rS?q@vMV#)0lJ*5&DR^fI#4nbvt3lzlcB92S=CE)vdSR)CPAe<>0S!HI$ zPY#k)QtF|!{>2WNuzo25Su@R2jt20xM_nK5bJ&fep5}s#tjyPi-<}$9YD32H%{!1@@p|Bi=LQ@Av2~z_Try_ z1^b{^G1aGMBAz#s6LDiiGSyO;NK>cbCz~7?99$p>8fp_JwoCHoQkONsSLUEmBMF)2 zSwa}{7z(JtBTWma;M#W*F-2tS!pP7Q8qed;bBr~5FGl7cXC*?UEqV1quzmV zwKj~*rod;KyL;OkRc@H-xrixpwScP5eG8V5>ctZQin{< z6VjoXQpkbI2O1HW4gVkt#N6%8JVQ~#J61xAf#8h&R_t$>CxVjKLrddNOBCSJl`=XN z_0bQW_d`LRkj=MgfjAV}W;TggaMRp8v>zX!hKhe2?3!Q+Fo}tz<|0GBQhikNC#|d} z-pkd)U(1z1g7aG-9YZb`_<<%4&1x-XM}?Pq3&9H{&vp?OfOh$|@L)@YqtM;MkU-Jk zDejO1RkY7l{COmot89xqygqP0bTfNrXdE3oDW2$CivyZPH~rC+TsE1thd`izsp-wI zSk=ekm@MLp*!9qlxwJpaDJyyph_NM%TG3#CB7L!>GK=e{t|nK5zN_Zw22!dVW<~+2 zn&Wh`HEB|Qf!Fucsy?>f`x0T{vB)6Mej)4`u%KbvYfZ9iq@w# zenmXf2si9Iv$!#7V7$ZHD#Xb+o%Ku%ZCue#26EmZ?7JSLbVuzq64=y7Kd*TZ?=o#@ zpz|TS@AVPrk#pb8Eq1=dWnq-v!q)l7oe#sTdGKgYhU-%F8}%e(?_^&We`PgPA!4&* zUQLRRe?fdo-$TNz!hAfcP-fDQ#k@AGc6;6>^JP-QxONt^3yn7IUvM4@(Fhe+(aXi6 z8V(j5rbsRe>2S20W`2k;z9c8ph9RF58Mb7vA3$6+BPvIOtfg5K7k5#Nqb6UY2O&E| z5`&ED6Kr?6N=j@jXbMc0i_MwlEpkOw5K>%ZTok6)lr;Jo*NGpU+n6>Fz3hI{C(476 z3Pqgsy|z#@(AdW2RA;m@mXHYMQ#zsmSfX)QDYSN53C$DaE=4LV8!y+9~r1+h`$ zsi^FXtnd&Xf+}Q@mjtujUp=tPo&Se zXH~H#{rsMNR9{Ub&SmeSXf#9smkrb~os-MZS}ZsxulYvo)C;`Vw5jOWCSK`322-&J ztTv~URrNTW))MgL*5)Clb0}Ja8;t?VozipXinpVMPotX|!7}4-aE(MKjoBcul74Ax zfq83zB2=IZcvj-?Sq!5!jN^Qv5P;q^f?M+bp86Z3XG|CmFizAnG|sn|0BD|-ONE8W zwU5jyJq=_-W)*hcg`>tTh)uAnM*L#IDSX_afgh*g3YLdsl0*@>jQ0&}xtE73pc^K6 z>(Z)3#^p06pieS>Dd`@ADG>LOnU6X?&|o%pL-nw17TPJ?2atn?e^`VX)Tk}6wfA^k zXCu2XPA6TIhcl1()0ljgynH|i9r>4uS8Y0KQaw>qmi9xJ|nAH0M^?)c(yz7jjNPdr|GZ@n|%_f$!dC^e0yqNa($!I!J4 z^yc{3mN)BC--Q|qGqRPf{kl48KS&yK6lb>po|MOWs8( z1AMTQ7VcCW@O}PIR<-;e&1}$8%r&J_a+xb^0@=pVrt_(D?L+!auN1;3MG^^4CC>}< z-(xAF$VNJc`4)OxI|>aBTI~`R4j+hixF@x#L91)|slm8$U2otwzTXcuw8qPEvSVZU zkJ>`U3u97Ttyme`humLaM=D5nd3jjp#5SdHG_6Ig3cN%G1aWY_^$g7}Mp5*xz0bhX zNI$XYHRYqs{T@%%EWJ~58d?O*q)naLyVntQ1 zKpqy|4dW-ca08RtEa$axkCyBvd~qc)WpAVCfZZtybGkDGqZBdk-fd}iT&Q3h1|@-2 zhzl#uK@?ZCXse%_?An`F>JqsD(wMJ}hSR#yuoYYDp#di_fSpfy4p|Mfovh|^64#PD zo<{fP66yeynFNVpOT4~5m#Xl&Z3|8s74`g!r>EMk!>kAd7|s6PN1TN+q^&Dd58qAw zw#ZgDSa73&e$;466j|m>1E`#x;Q_^8^al4-au|;j+lAH`?Dcicp!EKVO}eu!6MOOa z{?#W%?RS2pfWZR6f}IHPfs)mP_X!+&VvAu#UXwEck6IUuf#YSL>lN)!tQd50*nBU3K} zZA9zFXf(w}Kbg1slU0)9#9&Q35`lt*@U3+1zo+yk@MGfGtjv)WVvo1iCcGr&tSLukN$LUahSVNlCgzRNMCW7FiUG~K1^-%B5k%?Pi}9s5SAS303T3)UNK83 zL?@%~97FCXo-+y7au(LE!re`E4G|v)4LUcv{V z-095$XRK0CyQmzyoHVE5breMSv&_}F+==oabmcwt9mU6Fhj9~|ZF75iTI;-?dV>l} zM(R?l`qa;~q5w?yx%}VtSh7&An7VvZ7r}75@ws?6>$Ox{v&VWz9(0+CN3j zN882Gvpz>$nZNI$q%C_Ls}2#D#T*lVE!oa|mG#)hIyQPVGSG^WpUu+zUW7GU$uT@x z8T^|@%9S|PQr~Y9p+A%d`%nM8*@9JEPaOwp)Cvr2g{gmn>V+?SM4!bsFUsaqu+TF(*&^I zswp+318+#bZAG2GcGB&;_RNcGz3n3vp2!Lu$ztx1_}0;6>QbpCTlyXnGyjj`Fm-o=ZvD&dsxC{o;SsEsFFP12y>$3 zD!t6!Xg?4@t-PdEhnuD#xXZniSMDU&{D6D@yp{HxQowMSmpP);beixc%ylDf-Kct# zz|$fKC7&I523jI^EPTZJ_WUe&WD!;TuLw<5Zu#_tixD8Ey?~j@*RdAzafD-jX zG{Ja<#E`%5G4;j2tX9gfl<{;26ny(}?auIOOR8H? zW=CPU^}B-OlJsqxUH5H?uu!c>;IN!a?Ml7V6%x{Ek`_hA5Wc9qtMRFrvfv44j=@nQ);#$wbVVaklpv5Vbj~=myN=5;3)TDM|5VRiU7J`hILCl6 z9XX&la_+jFRK)z`&O`+E>kPbU2?6x#N4ktE5p$X79ZDMSbc$f6Ir{m*O-r^FX(Z53y*0p7QFO{ zWzz=gyMbQG(GKt_z7vzz=5JLmlU|9syVqW^y8EME302o+FOojq+>BD3E|g;^lM<8n z1X&750ZG&SOSiDlJejf>`fE?_EgB3}wrki7!TqN%kDu`bMw@)_wGj7TzKHy6OGn2H zYT&o=eM)puR)4z-1Oti;l#HmK@dACWj}#3oaUgXqqSb^wcfN2ZHOYx z-O<_cJJ>ZvxXK(zq1g(IWL_~ih7CT?+XtWisS|^+TNhEU25)q|@)9)u{)&%XnwDM( z9e@rl@SCG{eGiyK$Ft+ZXRaqBP}#MK9Kt1QSOG`~Gb8t25!_VT^rD0XuQ)gaNk+G$ zcm;C%XwIs7RXONc9yKG$+5?$@2d{la`drdcc|q{;?LY*{+q7ZJf$@*h?eO8kHhA=5 zp)VtY7bK~TjOGQYCn9A?tH5wepBdyTr*V`rxU)o9py%xG0kh=A<0ObimvmdQ;Uh z=624`j;{>+%4AyOL!?L}&LR=m4(ZDFOg{>?tIE2q(q2{to*a>2re0qJ-Wc-*I=>4Y zs=u`*!oOyAj&9sD*Cf;a;I1p^jPp7=f3ft*_{|-uY$XEdNe**9s|)$v?Q}eMJJ;{z zb3;Z{XIPobmS7;RB`&R~Tmmd9Qh<+5_bK!9sqSG}%9KdSP=ehLR|?nJ8M>JT$yCyQ=IQQe@}SX$ zki1dyk+jJx0%1lIc6iJ>h8MRB-SaUDv(9Mgfgx19wPBS{UT@7=smLvMwAloAdo!P_ z3VbwrQ5aL9?#Mw?Us0FS?0cWZbvp+N;j4OFxV2FNm9qB?L4GNr+aMW}=I)Wfhbvg- z7a zGo(*DdPP%1r!^Z`&Sg@{%0RokO;`9t>H*t*G+0?)DXKm_bRlv88X?M!6{-teCPVmU z3)9GE{~TC$ym|bo`6xh{tnT9azKXE36Uw4$xteVQS2NLwmYbkV?K{nDu{5f(qUddX zas`y<%ueb8q_1U*2Fn3J??D$;IDhJ9A+X}4`&7L)w{5yNugI2Qoe#36?%qWe>F$$< z9xkBT=31p=ye*az&;6-_?x{iO1gEC127xg{w$L%(9LAx9u|1ZyQ%{aqwL_prILg{z z^4EPd`~CR_H(dTQ{NgL)rW&qYz1{r{$N+CRvfYKF~48t6kE5A?iy zRsJlP_0|3QY|ECo_)r`8f`pLMfk0y}sav$+Z1&{w2ohO=F#Dt=9*bV-5-+D4ZdEI^vhnRGh!&@@Rx?H>pgP z01>u$*ifbYB)0xef$Lxbx89oMyUOV)3Da9m&du8P`H|oAqP7fJ1eJ&!F#Vd2NS0W@BjM?Z3YEfTPN5*8aEXf#BEG$iT?OE1qMZP z4`U+MFDwkInoLA2M9kX%f?Q@|{OhDKwmEe<6=STf%X`lJ935eleOR`Jc!p0nq%()jjCZ#IGBBRjDlNsiKIBJS1#Zj>lFB4xTL%xMKIvz=>Sq6>F zJUSypWK=%c_bt#{RPY$_4{}w(2BFF6nF3OoAt$LI4`#l$zc8gMR0(#QHz>MAmm6k$F*`&n2$O!Y$B175@sPo_(a z$-3!g>5>D6GThwv@GUB1<7mz;oo?SIArbT8McJSOe(H*3&w0Ou12W!@iz4)qSLHk_ zIE+JZ3`w_{@3Kg*JvEZW9W!gH*TkJNBtyA*cuq}jS;&~7Q=JV&jj^Rt@0(@ajPH5{T>E4rE&>zzs%qo2K6O$+#^*b-H78!H#Xc2eB>ceHu^e1;ujHmA6$t z*H?ea=}hV$W*e9czd~N^!Im>RaV6~l`#VhK!k)QHzxkm~-Rq-%vfp)g9RA=nlT9(u zisrV%Oxz||jd*smV7&gcPdsL<7WG{7xvUxo&W_aPGv%GXkEy4|xR7ssQ36lVuO*{N zQqNCIsFWWCr!qM{V1)``MdnRqqUD&$#xvGGZ)D=!>hR1@tzDhAiD%(6_7g4QDiP#O1 zLofc_>Gx4jFYLmS2}8cR_h^GfVv-FU9egduht>e7er$r%L?S*w$oqbK7s;WIfRKI| z!1Pa%bVl8Kiw9GUs8E)D!luY)kx_Yjk{9R7UW#96l%<-Ufcc$2q~eCy+80(b_dK~H z+!mB{Nz-V+?XrnrKhwdy@7w;~QTfk4(9ucX!O6|R*aVh|m6P)eD=ay=u&fB|{{p;) BDLw!I literal 0 HcmV?d00001

+
+
+ + +
+ + +

Index

+ +
+ +
+ + +
+ +
+
+
+
+