ORCA

Installed versions:

5.0.4

6.0 (including XTB 6.7.1)

Submitting an ORCA calculation using the ubORKA script

/opt/software/packages/orca/ubORCA504 filename.inp

or

/opt/software/packages/orca/ubORCA60 filename.inp

To make submission easier, use the following alias:

alias ubORKA='/opt/software/packages/orca/ubORCA504'

or

alias ubORKA='/opt/software/packages/orca/ubORCA60'

In this case, the job submission can be performed more conveniently with the following command (after this, use ubORKA instead of ubORCA):

ubORKA filename.inp

The ubORKA script only submits ORCA input files with the .inp extension to the CPU queue. The ORCA input file must contain information about the number of CPUs and allocated memory size in the following format (otherwise, the job submission will fail, and the output file size will be empty):

%pal
nprocs 4
end
%maxcore 1400

ORCA can be run in parallel in an OpenMPI environment, and the number of cores can be specified in the ORCA input (nprocs). This information is automatically passed to SLURM via the ubORKA script. This script can also be used for non-parallel runs, in which case you should specify nprocs 1 in the input. According to our experiences, there is no benefit to use more than 16 CPUs for calculations (the maximum in the Komondor CPU queue is 782).

The ubORKA script handles memory allocation automatically using the specified maxcore value, which defines the amount of memory per core in MB. However, ORCA can use more memory than the allocated, therefore it is better to allocate 1,400 MB per core instead of the theoretical 2,000 MB to avoid overcommitting nodes. This also ensures memory for the operating system. Additionally, it is important to note that storage size can also be an issue since the created files will be located in the scratch folder, which currently has a limit of 1.1 TB per user account. You can check the project’s current storage level using squota.

If an appropriate job is submitted:

The scratch directory is /scratch/compchem2
Used space 361.2GB
Total space 2.0TB
Running 4 parallel processes
2000MB of memory allocated per process
8000MB total memory allocated
Using 1 node(s) for the calculation
Submitting NBD.job
Submitted batch job 6983087

The output file only differs from the input in its extension (.out). If the calculation is completed successfully, additional outputs (e.g., .xyz, .hess, .spectrum, .gbw, .cpcm) are also copied back from the compute node.

An example input:

! B3LYP/G cc-pVDZ Opt Freq
%pal
nprocs 4
end

%maxcore 1400

*xyz 0 1
C    0.765317    0.000000    0.000000
H    1.164483    1.006642    0.170694
H    1.164478   -0.355494   -0.957128
H    1.164488   -0.651149    0.786427
C   -0.765317    0.000000    0.000000
H   -1.164488    0.651723   -0.785951
H   -1.164483   -1.006517   -0.171430
H   -1.164478    0.354794    0.957387
*

Estimating computational requirements

There is no universal rule of thumb for the resource allocation of the ORCA calculations, since the variety of chemical systems and theoretical methods with different resource demands. Therefore, you need to gain experience to estimate the performance needs yourself. If you’d prefer to create your own specific SLURM script, you can invoke ORCA by pointing to /opt/software/packages/orca/5.0.4/ or /opt/software/packages/orca/6.0/.

You can find ORCA-specific information at the following locations:

Update: 2024.09.30.