Closed brianz98 closed 1 month ago
@hczhai is this something that you've seen before?
This is likely caused by the problem of using MKL on AMD cpus. You can try any of the following methods:
block2
is not linked with MKL. When -DUSE_MKL=OFF
, cmake
may still find mkl as the lapack/blas library when other blas libraries are not available. See the "Found BLAS" line in https://github.com/evangelistalab/forte/actions/runs/10255130288/job/28371416030#step:12:93. You may use environment variables such as BLAS_ROOT
to control it, see https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L143. You may need to install OpenBLAS, which works well on AMD cpus.LD_PRELOAD
should be set before calling binaries or Python modules linked with libblock2.so
(nothing needs to be changed for compiling block2
). See https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L103-L109 and https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L232-L235.This is likely caused by the problem of using MKL on AMD cpus. You can try any of the following methods:
Make sure that
block2
is not linked with MKL. When-DUSE_MKL=OFF
,cmake
may still find mkl as the lapack/blas library when other blas libraries are not available. See the "Found BLAS" line in https://github.com/evangelistalab/forte/actions/runs/10255130288/job/28371416030#step:12:93. You may use environment variables such asBLAS_ROOT
to control it, see https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L143. You may need to install OpenBLAS, which works well on AMD cpus.If it is the intention to use MKL, you need to redefine a function in the MKL library to make it work for AMD cpu, and for this purpose
LD_PRELOAD
should be set before calling binaries or Python modules linked withlibblock2.so
(nothing needs to be changed for compilingblock2
). See https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L103-L109 and https://github.com/block-hczhai/block2-preview/blob/p0.5.3rc16/.github/workflows/build.yml#L232-L235.
The second option worked great! Thanks so much, again:)
Hi @brianz98,
I see that this problem is not yet solved in GitHub actions. The following changes should work: https://github.com/hczhai/forte/commit/0a4be4f7e0758841fba2d18c1eb1a250a85ae936. Sorry for the inconvenience and let me know if there are additional issues.
DMRG tests are now temporarily disabled in GHA because they're not consistently passing. Forte is still compiled with Block2 in GHA.
See for example https://github.com/evangelistalab/forte/actions/runs/10255130288/job/28371416030, which gives the following stack trace