Skip to content

Configuration Interaction Program written in pure Rust.

License

Notifications You must be signed in to change notification settings

Ojas-Singh/TDCI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Configuration Interaction

Overview

TDCI is a High-performance Configuration Interaction program written in Rust.

Will implement time-propagation in future!

Getting Started

Dependencies

Psi4 Download installer and install according to instructions.

Building Procedure
  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  rustup default nightly
  export RUSTFLAGS="-C target-cpu=native" or export RUSTFLAGS="-C target-feature=+avx2"
  cargo build --release
To set Threads limit
export RAYON_NUM_THREADS="6"
Environment Variables
export LD_LIBRARY_PATH=$HOME/psi4conda/lib/
export KMP_DUPLICATE_LIB_OK=TRUE

Benchmarks

Against Psi4Numpy

Oxygen cc-pVDZ [3s2p1d] → 14 function. CISD

CPU(s):  6 
AMD Ryzen 5 1600 (6) @ 3.775GHz 
Total Generated States :2221
Our Code Psi4Numpy
Configuration Generation Time 250 µs 4 ms
Matrix Building Time 35 ms 15 s
CPU(s):  48 
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 
H2O
Basis Set Determinants Transformation Time Matrix Build Time
cc-pVDZ 12636 103.6 ms 371.3 ms
aug-cc-pVDZ 45361 1.153 s 9.635 s
cc-pVTZ 98316 4.747 s 48.83 s
NH3
Basis Set Determinants Transformation Time Matrix Build Time
cc-pVDZ 20161 233.8 ms 911.93 ms
aug-cc-pVDZ 70876 2.46 s 26.33 s
cc-pVTZ 157116 10.99 s 137.85 s

About

Configuration Interaction Program written in pure Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published