Skip to content

Repository files navigation

HEOMKit

Stable Dev Build Status

Redfield dynamics

HEOMKit provides global, single-energy ad hoc local, and Schnell local Redfield jump operators with adaptive SciML propagation and trajectory diagnostics. Schnell local models use full-Hamiltonian commutators at a chosen expansion order; order=0 is the migration path from the removed local propagator approximation. See the Redfield manual and run examples/redfield_dimer_comparison.jl to compare global Redfield and local Redfield orders N=0:4 with HEOM.

BLAS backend selection

HEOMKit itself does not require MKL. It uses Julia's BLAS/LAPACK layer through LinearAlgebra, so the active backend is whichever backend Julia's libblastrampoline is forwarding to.

  • OpenBLAS: Julia default
  • MKL: using MKL before using HEOMKit
  • AOCL: set LBT_DEFAULT_LIBS to your AOCL BLAS/LAPACK libraries before starting Julia

Examples:

# OpenBLAS (default)
julia --project=.

# MKL
julia --project=. -e 'using MKL; using HEOMKit; println(blas_config())'

# AOCL (adjust library filenames to your installation)
export LBT_DEFAULT_LIBS="/path/to/aocl/lib/libblis.so;/path/to/aocl/lib/libflame.so"
julia --project=. -e 'using HEOMKit; println(blas_config())'

You can inspect and tune BLAS threading from HEOMKit:

using HEOMKit

blas_config()
blas_num_threads()
set_blas_threads!(8)

About

Hierarchical equations of motion in Julia

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages