Running Calculation

From the menu projectmenuicon on the lower left side of the project view, click Run to open Run a job window, where you can configure the calculation job.

  • Job Type

    (Quantum ESPRESSO / ThreeBodyTB only) Select a calculation type to be performed by the calculation engine.

  • Host Name

    Specify the computer on which to run the calculation. Select localhost for local execution (calculate on this computer), or the hostname for remote execution (calculate on another computer).

    The host and queue for remote execution should be added from the configuration screen beforehand.

  • Queue Type

    (Remote execution only) specify the queue to use.

  • #Processes

  • #Threads

    (Local execution only) If you’d like to perform a parallel calculation, set the parallel number.

    Hint

    #Threads is the number of threads per one process. (#Processes \times #Threads) threads are created to perform the computation.

    For example, on a 12-core CPU machine, you can set #Processes = 12, #Threads = 1 to use MPI parallel only, or #Processes = 6, #Threads = 2 to use both MPI parallel and OpenMP parallel (hybrid parallel). The optimal combination depends on the machine environment.

  • Project

    If the project is not saved, click Save Project button here before running the calculation.

When the setting is completed, click OK .

This bring up a screen to confirm the contents of the input files for LAMMPS execution, and/or the job script for remote execution, and you can review the contents. You can also edit the contents on the fly (changes are applied only to this run and are not reflected in the project / server settings).

Hint

You can disable the display of LAMMPS input files. Open Properties ‣ LAMMPS from the top left icon mainmenuicon and toggle the Input File Editor setting.

Hint

When you use remote execution, the calculation engine executable files are automatically transferred to the server in advance. There is no need to install the calculation engine on the server.

Managing calculation job

Running/waiting calculation jobs are listed in Calculating in explorer. Each calculation job appears as a 3D model icon with a calculation engine label on the upper left and a calculation type label on the lower right. Remote jobs appear with a cloud icon cloud in the upper right corner.

Local jobs are executed sequentially. The label color of the label at the bottomright indicates the state of the job: red for running and yellow for waiting. When the job is finished, the label turns green, and then the icon disappears from Calculating. The label of the remote job that is canceled before execution turns gray.

../_images/job.en.svg

To cancel a running/waiting job, right-click on the icon and click Delete jobs, or open the project view and click Stop Calculation on the right side panel. (If the results view is not displayed, first click Result from the menu projectmenuicon at the lower left.)

Local Job Manager

Local jobs are terminated when NanoLabo is terminated (confirmation is displayed).

On Linux, you can use Job Manager to execute the jobs separately from NanoLabo and continue the calculation even after NanoLabo is closed.

Open Job Manager in the upper left icon mainmenuicon and set Job Manager to Raw. Add a queue from the add button on Job Queue and configure the parallel number or environment variables required for execution (if any) in Job Script .

If you are using the job management system on the local machine, you can also set Job Manager to PBS, SLURM or PJM to post jobs to the local machine.

When running, set Host Name to localhost, and specify the queue name you added in Queue Type .

Set Job Manager back to Build-in to undo the setting and run jobs on NanoLabo.

Configuration to use GPU

On a Linux machine that has GPU(s), calculations related to neural network force field can be accelerated using GPU. Supported calculations include the learning of neural network force field using Advance/NeuralMD (an Advance/NeuralMD Pro edition license is required) and molecular dynamics calculations with the neural network force field using LAMMPS.

Click on the mainmenuicon icon located in upper left corner of the screen, and open Properties ‣ Advance/NeuralMD and set Number of GPUs. To not use the GPU, set it to 0.

Note

The installation of a GPU driver is required prior to use. Since CUDA 11.4.4 is being utilized, a driver version of 470.82.01 or later is necessary.

Hint

The configuration settings described are specific to Advance/NeuralMD-related calculations. The GPU usage settings for OC20/22, M3GNet, and CHGNet are separate and independent. To understand the GPU usage for each of these, please refer to their respective environment setup instructions.

Troubleshooting

If a calculation fails, Error window is displayed. To investigate into the error, open project view and click CRASH or ERR to view the error log. (In case result view is not shown, first click Result on the menu projectmenuicon in the lower left.)

Common configuration mistakes

  • Excessive number of processes

The number of MPI parallels (process parallels) that can be utilized is limited and varies depending on the type of calculation being performed. Typically, the smaller the model size used for computation, the lower the limit for parallelization is set. Setting the parallel number too high may result in errors and other operational issues.

The number of processes for local execution is configured using #Processes . For remote execution, it is through the arguments provided to the mpirun command or similar commands.

  • Excessive number of threads

The number of threads is typically specified per process. When using MPI parallel (process parallel) and OpenMP parallel (thread parallel), the total number of threads is calculated by multiplying the number of process parallels with the number of thread parallels. If this total exceeds the number of available CPU cores, it can result in significant computational slowdowns or even errors, due to overloading the system’s processing capabilities.

The number of threads for local execution is configured using #Threads . For remote execution, it is typically set through the environment variable OMP_NUM_THREADS or similar means. It is important to note that during remote execution, if the number of threads not explicitly set, the system will default to its predefined values, which might unintentionally result in an excessive number of threads being used.

Firewall configuration

Firewall warnings may appear on Windows when running the calculation. This is due to the MPI library awaiting incoming communication. Allow the access, or alternatively, add the executables of the calculation engines to the firewall exceptions beforehand to suppress the warning.