ORCA: Difference between revisions
| (5 intermediate revisions by the same user not shown) | |||
| Line 23: | Line 23: | ||
<pre> | <pre> | ||
$ module avail orca | $ module avail orca | ||
----------------------- /global/software/Modules/ | ----------------------- /global/software/Modules/5.5.0/modulefiles ----------------------- | ||
orca/5.0.4-shared orca/5.0.4-static orca/6.1.0 | orca/5.0.4-shared orca/5.0.4-static orca/6.1.0-avx2 orca/6.1.0-generic | ||
</pre> | </pre> | ||
| Line 30: | Line 30: | ||
* <code>orca/5.0.4-shared</code>: ORCA v5.0.4, dynamically linked build with shared libraries. | * <code>orca/5.0.4-shared</code>: ORCA v5.0.4, dynamically linked build with shared libraries. | ||
: '''depends''' on the <code>openmpi/4.1.1-gnu</code> MPI library module. | : '''depends''' on the <code>openmpi/4.1.1-gnu</code> MPI library module. | ||
* <code>orca/5.0.4-static</code>: ORCA v5.0.4, statically linked build. | * <code>orca/5.0.4-static</code>: ORCA v5.0.4, statically linked build. | ||
: '''depends''' on the <code>openmpi/4.1.1-gnu</code> MPI library module. | : '''depends''' on the <code>openmpi/4.1.1-gnu</code> MPI library module. | ||
* <code>orca/6.1.0</code>: ORCA v6.1.0, dynamically linked build with shared libraries, for CPUs supporting AVX2 instructions. | * <code>orca/6.1.0-avx2</code>: ORCA v6.1.0, dynamically linked build with shared libraries, for CPUs supporting AVX2 instructions. | ||
: '''depends''' and '''automatically loads''' the <code>openmpi/4.1.1-gnu</code> MPI library module. | |||
* <code>orca/6.1.0-generic</code>: ORCA v6.1.0, dynamically linked build with shared libraries, for older CPUs. | |||
: '''depends''' and '''automatically loads''' the <code>openmpi/4.1.1-gnu</code> MPI library module. | : '''depends''' and '''automatically loads''' the <code>openmpi/4.1.1-gnu</code> MPI library module. | ||
== Test case == | == Test case == | ||
| Line 83: | Line 90: | ||
=== Job script === | === Job script === | ||
The job script for the '''trimer example''', <code>trimer.slurm</code>: | The job script for the '''trimer example''' for ORCA '''v5.0.4''', <code>trimer.slurm</code>: | ||
<syntaxhighlight lang=bash> | <syntaxhighlight lang=bash> | ||
#! /bin/bash | #! /bin/bash | ||
| Line 94: | Line 101: | ||
#SBATCH --time=0-5:00:00 | #SBATCH --time=0-5:00:00 | ||
#SBATCH --partition=cpu2021-bf24 | #SBATCH --partition=cpu2021-bf24 | ||
# =========================================================================== | # =========================================================================== | ||
module load openmpi/4.1.1-gnu | module load openmpi/4.1.1-gnu | ||
| Line 100: | Line 106: | ||
ORCA=`which orca` | ORCA=`which orca` | ||
$ORCA trimer.inp | |||
# =========================================================================== | |||
</syntaxhighlight> | |||
The job script for the '''trimer example''' for ORCA '''v6.1.0''', <code>trimer.slurm</code>: | |||
<syntaxhighlight lang=bash> | |||
#! /bin/bash | |||
# =========================================================================== | |||
#SBATCH --job-name=orca_test | |||
#SBATCH --nodes=1 | |||
#SBATCH --ntasks=48 | |||
#SBATCH --cpus-per-task=1 | |||
#SBATCH --mem=64GB | |||
#SBATCH --time=0-5:00:00 | |||
#SBATCH --partition=cpu2021-bf24 | |||
# =========================================================================== | |||
module load orca/6.1.0-avx2 | |||
ORCA=`which orca` | |||
$ORCA trimer.inp | $ORCA trimer.inp | ||
# =========================================================================== | # =========================================================================== | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This job script requests '''5 hours''' or run time on the '''cpu2021-bf24''' partition, as well as '''48 MPI processes''' and '''64 Gb''' of RAM. | This job script requests '''5 hours''' or run time on the '''cpu2021-bf24''' partition, as well as '''48 MPI processes''' and '''64 Gb''' of RAM. | ||
Latest revision as of 21:16, 3 October 2025
General
ORCA is a flexible, efficient and easy-to-use general-purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.
- Project site: https://orcaforum.kofo.mpg.de/app.php/portal
- Installation Manual: https://www.orcasoftware.de/tutorials_orca/first_steps/install.html
Licensing
If you wish to use centrally installed prebuilt ORCA executables:
- You have to register at https://orcaforum.kofo.mpg.de/
- You will receive a first email to verify the email address and activate the account. Follow the instructions in that email.
- Once the registration is complete, you will get a second email stating that the "registration for ORCA download and usage has been completed".
- Contact us requesting access to ORCA with a copy of the second email at support@hpc.ucalgary.ca.
Note: You do not need to ask a permission from us, if you are willing to download ORCA and install it in your home directory on your own. You only need to contact us if you are planning on using the centrally installed ORCA using the module command.
ORCA on ARC
To see available versions of ORCA on ARC, use the module command:
$ module avail orca ----------------------- /global/software/Modules/5.5.0/modulefiles ----------------------- orca/5.0.4-shared orca/5.0.4-static orca/6.1.0-avx2 orca/6.1.0-generic
The modules:
orca/5.0.4-shared: ORCA v5.0.4, dynamically linked build with shared libraries.
- depends on the
openmpi/4.1.1-gnuMPI library module.
orca/5.0.4-static: ORCA v5.0.4, statically linked build.
- depends on the
openmpi/4.1.1-gnuMPI library module.
orca/6.1.0-avx2: ORCA v6.1.0, dynamically linked build with shared libraries, for CPUs supporting AVX2 instructions.
- depends and automatically loads the
openmpi/4.1.1-gnuMPI library module.
orca/6.1.0-generic: ORCA v6.1.0, dynamically linked build with shared libraries, for older CPUs.
- depends and automatically loads the
openmpi/4.1.1-gnuMPI library module.
Test case
Input file
ORCA input file, trimer.inp:
# Beryllium Hydroxo Cation Trimer %pal nprocs 48 end ! RHF TightSCF PModel ! opt * xyz 3 1 BE -0.8525564731 1.4385952336 -0.0568386129 BE -0.8439106317 -1.4629929631 -0.0609922493 BE 1.6646301187 -0.0047356303 -0.0492110057 O -1.4961121024 2.3487644892 1.2288561938 O -1.3182244409 -2.4739274717 1.2229994716 O 2.7600572652 -0.0952297793 -1.3493767865 O -1.3120368956 2.4299969307 -1.3624682759 O -1.4647109135 -2.3581289822 -1.3693992968 O 2.7677255286 0.0905655941 1.2430198205 H -1.8119923339 1.9892271297 2.0517208639 H -0.8530364757 -2.5680042291 2.0481697576 H 3.5593293692 0.4144864646 -1.4503014673 H -2.1528769106 2.8657164542 -1.4716703585 H -1.4216692255 -3.3043858812 -1.4768305047 H 2.6169144032 -0.5871082502 -2.1516801328 H -0.8074101333 2.5517677785 -2.1603597618 H -1.8167790717 -1.9829473649 -2.1702654859 H 3.5918724943 -0.3831545116 1.3144677218 H -1.5005192072 3.2996000227 1.2972549220 H -2.1403067026 -2.9521565768 1.2875415691 H 2.6106062441 0.5414374312 2.0666175658 O 0.7464193743 -1.3117753249 -0.0488528410 O 0.7384467702 1.2969248953 -0.0443089227 O -1.5167658775 -0.0143091197 -0.0541930119 H 1.2233662484 -2.1319290025 -0.0335893416 H 1.2100703374 2.1200534530 -0.0251688186 H -2.4654622393 -0.0174143863 -0.0404919530 *
In this example, the number of MPI processes is set to 48, which is specific to the cpu2021 and cpu2021-bf24 partitions on ARC. Please, do not forget to change that number according to the partition you are going to run it on.
Job script
The job script for the trimer example for ORCA v5.0.4, trimer.slurm:
#! /bin/bash
# ===========================================================================
#SBATCH --job-name=orca_test
#SBATCH --nodes=1
#SBATCH --ntasks=48
#SBATCH --cpus-per-task=1
#SBATCH --mem=64GB
#SBATCH --time=0-5:00:00
#SBATCH --partition=cpu2021-bf24
# ===========================================================================
module load openmpi/4.1.1-gnu
module load orca/5.0.4-static
ORCA=`which orca`
$ORCA trimer.inp
# ===========================================================================
The job script for the trimer example for ORCA v6.1.0, trimer.slurm:
#! /bin/bash
# ===========================================================================
#SBATCH --job-name=orca_test
#SBATCH --nodes=1
#SBATCH --ntasks=48
#SBATCH --cpus-per-task=1
#SBATCH --mem=64GB
#SBATCH --time=0-5:00:00
#SBATCH --partition=cpu2021-bf24
# ===========================================================================
module load orca/6.1.0-avx2
ORCA=`which orca`
$ORCA trimer.inp
# ===========================================================================
This job script requests 5 hours or run time on the cpu2021-bf24 partition, as well as 48 MPI processes and 64 Gb of RAM.
NOTE, that for parallel runs ORCA insists on being started using full absolute path.
Not just with the orca commmad,
but using /global/software/orca/5.0.4-static/orca full name.
This is why the line ORCA=`which orca` is required.
Also note, that the command uses back quotes, NOT simple straight quotes.
Running the test
You have to create a directory to contain all the files for this test case, and "change" to that directory:
$ cd $ mkdir -p my-jobs/orca-tests/trimer $ cd my-jobs/orca-tests/trimer
Then you have to create the trimer.inp input file, as well as
the job script, trimer.slurm.
You can use the nano text editor for this and copy/paste the text for the files from this page.
$ nano trimer.inp .... $ nano trimer.slurm ....
Once you create both the files, you can check if they are in the current directory:
$ pwd /home/username/my-jobs/orca-tests/trimer $ ls -l -rw-r--r-- 1 username username 1445 Jul 25 09:18 trimer.inp -rwxr-xr-x 1 username username 515 Jul 25 09:18 trimer.slurm
Now you can submit the job to the SLURM scheduler and check the job:
$ sbatch trimer.slurm Submitted batch job 21550624 $ squeue-long -j 21550624 JOBID USER STATE PARTITION TIME_LIMIT TIME NODES TASKS CPUS MIN_MEMORY TRES_PER_NREASON NODELIST 21550624 username RUNNING cpu2021-bf5:00:00 0:21 1 48 48 64G N/A None mc52
After about 1 minute the job should terminate normally.
The output is saved by SLURM to the slurm-21550624.out output file.
So, we can check the results:
$ ls -l
total 2160
-rw-r--r-- 1 username username 265079 Jul 25 09:38 slurm-21550624.out
-rw-r--r-- 1 username username 416925 Jul 25 09:38 trimer.densities
-rw-r--r-- 1 username username 3203 Jul 25 09:38 trimer.engrad
-rw-r--r-- 1 username username 1152724 Jul 25 09:38 trimer.gbw
-rw-r--r-- 1 username username 1445 Jul 25 09:37 trimer.inp
-rw-r--r-- 1 username username 288435 Jul 25 09:38 trimer.opt
-rwxr-xr-x 1 username username 515 Jul 25 09:37 trimer.slurm
-rw-r--r-- 1 username username 1861 Jul 25 09:38 trimer.xyz
-rw-r--r-- 1 username username 26260 Jul 25 09:38 trimer_property.txt
-rw-r--r-- 1 username username 7950 Jul 25 09:38 trimer_trj.xyz
$ tail slurm-21550624.out
Timings for individual modules:
Sum of individual times ... 44.596 sec (= 0.743 min)
GTO integral calculation ... 9.006 sec (= 0.150 min) 20.2 %
SCF iterations ... 25.763 sec (= 0.429 min) 57.8 %
SCF Gradient evaluation ... 9.528 sec (= 0.159 min) 21.4 %
Geometry relaxation ... 0.299 sec (= 0.005 min) 0.7 %
****ORCA TERMINATED NORMALLY****
TOTAL RUN TIME: 0 days 0 hours 0 minutes 51 seconds 923 msec
Success!
Links
| ||||||