GPU support in EMAN
EMAN/2.99.47 does not appear to have GPU support. Tensorflow uses the cpu package:
$ module load EMAN/2.99.47 cuda/11.2.2
$ conda list tensorflow
# packages in environment at /opt/psi/EM/EMAN/2.99.47:
#
# Name Version Build Channel
tensorflow 2.11.0 cpu_py39h4655687_0 conda-forge
tensorflow-base 2.11.0 cpu_py39h9b4020c_0 conda-forge
tensorflow-estimator 2.11.0 cpu_py39hf050123_0 conda-forge
$ python -c 'import tensorflow as tf; print(tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(log_device_placement=True)))'
2023-05-10 16:47:39.596002: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-05-10 16:48:40.478528: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: SSE4.1 SSE4.2 AVX AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-05-10 16:48:40.482778: I tensorflow/core/common_runtime/direct_session.cc:370] Device mapping: no known devices.
<tensorflow.python.client.session.Session object at 0x7f7454f10340>
According to this it is probably possible to just reinstall tensorflow after loading the cuda toolkit. Cuda should be a dependency of the pmodule as well.