TBTK
TBTK copied to clipboard
A C++ library for solving second-quantized Hamiltonians
Added single and Multi GPU support to Solver::Diagonalizer and Solver::BlockDiagonalizer via the CUDA cuSolver and cuSolverMg libraries.
Updated the ChebychevExpander solver to work with CUDA 12, using its SpMV routine. Additionally, as CUDA 12 seems to require the c++ 17++std, I also updated those requirements in CMakeLists.txt.
In the TBTK documentation under Example>Importing and exporting data>FileParser and ParameterSet, the example shows 'bool useGPU = true'. However, the FileParser only supports C-style booleans, i.e. true should be written...
Added GPU routine to Diagonalizer, to speed up the calculation of the eigenvalues and eigen states from the Hamiltonian. It can be turned on by calling Solver::Diagonalizer solver.useGPUAcceleration(true).
I noticed that most examples on the [TBTK webpage]( https://www.second-quantization.com/index.html) fail out of the box, as the call plotter.save("figures/.png") fails due to the path to the figures being wrong at...