Scripts and instructions for the deployment of parallelized quantum chemistry program ORCA on Linux-x64 computers. Also works on WSL Debian or Ubuntu.
Tested to work under Ubuntu LTS 24.04, Debian 13 and WSL2-Debian under Windows 11 with ORCA version up to 6.1.1 with OpenMPI 4.1.8, using modern AMD or Intel x64 processors.
I tried to use the static-linked binary version but it crashed into a segfault without any meaningful error message, so we have to use the shared-library version here.
-
Take note of the version number of the ORCA package you want to use, along with the OpenMPI version against which it is compiled.
-
Make sure you have sudo privileges. Download and install OpenMPI (using the specific version against which ORCA is compiled) from source by running the following commands sequentially (changing the directory names to your own):
cd /tmp wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz tar xvf openmpi-4.1.6.tar.gz cd openmpi-4.1.6 ./configure --prefix=/opt/orca-6.0.0/openmpi-4.1.6 make all mkdir -p /opt/orca-6.0.0 sudo make install -
While it is compiling, open your web browser and go to https://orcaforum.kofo.mpg.de/app.php/dlext/ (login required) to download ORCA version x.y.z, choosing the shared-library version linked against the above version of OpenMPI (e.g. "ORCA 6.0.0, Linux, x86-64 (AVX2), .tar.xz Archive Dynamically linked serial & parallel binaries linked against OpenMPI 4.1.6. Requires AVX2 instruction set!"). Extract it to the desired installation directory. (Here I use
/opt/orca-6.0.0.)cd /opt sudo tar xvf ~/Downloads/orca_6_0_0*.tar.xz sudo mv orca_6_0_0* orca-6.0.0 -
Download the
orcainit6script from this repo to your computer and put it wherever appropriate (I'd just put it in the same directory as ORCA binaries). Edit the initial part of the script, such that the$orca_pathandopenmpi_pathvariables contain the correct paths for your ORCA and OpenMPI installations, for example:orca_ver=6.0.0 openmpi_ver=4.1.6 orca_path=/opt/orca-${orca_ver} openmpi_path=${orca_path}/openmpi-${openmpi_ver} -
Source (in a bash, zsh, fish, etc. shell) the script.
source /opt/orca-6.0.0/orcainit6 -
Test with provided sample ORCA jobs or your own parallelized jobs. Make sure it works with openmpi parallelism.
cd test orca test2-1proc.orca orca_ser test1-1proc.orca test2-2procs.orca orca_par test1-1proc.orca test2-2procs.orca -
Now you are ready to go. Just remember to source
orcainit6each time you start a new shell. -
Note that I made two helper functions
orca_serandorca_parto run multiple jobs in series or in parallel:orca_ser [your job file 1] [your job file 2] [your job file 3] # Will be run one after another. orca_par [your job file 1] [your job file 2] [your job file 3] # Will be run simultaneously.Also, if you do run orca jobs with these functions, existing log files for the input files will be automatically backed up.
Bonus: janpa_orca is a helper script to use JANPA with ORCA. Put it in the same folder as your JANPA .jar files, and edit it to point to the correct paths for JANPA and ORCA. Source this script, and you can just run janpa_orca myOrcaJobName.orca (provided the ORCA job has already been completed) to automate the JANPA analysis.
Tested to work on Debian 8 and CentOS 7, with ORCA 3.0.3.
-
ORCA 3.0.3 requires OpenMPI 1.6.5 for multithreaded computing. Download openmpi-1.6.5 source code:
wget http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.gz -
Configure and install OpenMPI 1.6.5:
tar xvf openmpi-1.6.5.tar.gz cd openmpi-1.6.5 ./configure --prefix=/usr/local/lib/openmpi-1.6.5 make all sudo make installMake sure that files are installed to /usr/local/lib/openmpi-1.6.5/
-
Download ORCA files from the website: https://orcaforum.cec.mpg.de/ .
Extract the files to target directory (e.g./opt/orca-3.0.3).mkdir /opt/orca-3.0.3 cd /opt/orca-3.0.3 tar xvf [orca archive file location]/orca_3_0_3_linux_x86-64.tbz -
Edit the orca_path line in the
orcainit3script such that it points to the path of the ORCA installation.orcapath="[Insert your ORCA path here.]" sed -i "s:/opt/orca-3.0.3:${orcapath}:g" orcainit3 -
Using bash or a compatible shell, source the
orcainit3script to set the proper ORCA and OpenMPI in enviromental variables:source orcainit3 -
Test single-core and multi-core ORCA calculations:
cd test orca test1-1proc.orca less test1-1proc.orca.log orca test2-2procs.orca less test2-2procs.orca.log -
Now you are ready to run ORCA:
orca JOBNAME less JOBNAME.log