Configuration¶
pip install gpuNUFFT
cmake: /home/home/miniconda3/envs/tensor/lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found
find /usr/lib/x86_64-linux-gnu/ -name "libstdc++.so.6"
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/miniconda3/envs/tensor/lib/
NameError: name 'NonCartesianFFT' is not defined
sudo apt install libnfft3-dev
pip install pynfft2
ldd /home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/gpuNUFFT.so
/bin/bash: /home/home/miniconda3/envs/tensor/lib/libtinfo.so.6: no version information available (required by /bin/bash)
linux-vdso.so.1 (0x00007ffcfbde1000)
libcufft.so.11 => /usr/local/cuda-12.6/lib64/libcufft.so.11 (0x00007f2a47800000)
libcublas.so.12 => /usr/local/cuda-12.6/lib64/libcublas.so.12 (0x00007f2a40e00000)
libcurand.so.10 => /usr/local/cuda-12.6/lib64/libcurand.so.10 (0x00007f2a3a800000)
libstdc++.so.6 => /home/home/miniconda3/envs/tensor/lib/libstdc++.so.6 (0x00007f2a3a582000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2a587a2000)
libgcc_s.so.1 => /home/home/miniconda3/envs/tensor/lib/libgcc_s.so.1 (0x00007f2a58786000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a3a370000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2a58b9a000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a58781000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a5877c000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f2a58777000)
libcublasLt.so.12 => /usr/local/cuda-12.6/lib64/libcublasLt.so.12 (0x00007f2a18a00000)
conda install -c conda-forge ncurses
linux-vdso.so.1 (0x00007ffeb25d0000)
libcufft.so.11 => /usr/local/cuda-12.6/lib64/libcufft.so.11 (0x00007f491e000000)
libcublas.so.12 => /usr/local/cuda-12.6/lib64/libcublas.so.12 (0x00007f4917600000)
libcurand.so.10 => /usr/local/cuda-12.6/lib64/libcurand.so.10 (0x00007f4911000000)
libstdc++.so.6 => /home/home/miniconda3/envs/tensor/lib/libstdc++.so.6 (0x00007f4910d82000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4917517000)
libgcc_s.so.1 => /home/home/miniconda3/envs/tensor/lib/libgcc_s.so.1 (0x00007f492eeff000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4910b70000)
/lib64/ld-linux-x86-64.so.2 (0x00007f492f22f000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f492eefa000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f492eef5000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f492eef0000)
libcublasLt.so.12 => /usr/local/cuda-12.6/lib64/libcublasLt.so.12 (0x00007f48ef200000)
pip uninstall gpuNUFFT
pip install mri-nufft[gpunufft] scikit-image fastmri
!pip show mri-nufft
Name: mri-nufft Version: 1.1.1 Summary: MRI Non-Cartesian Fourier Operators with multiple computation backends. Home-page: Author: Author-email: Pierre-antoine Comby <pierre-antoine.comby@crans.org> License: Location: /home/home/miniconda3/envs/tensor/lib/python3.11/site-packages Requires: matplotlib, numpy, scipy, tqdm Required-by: pysap-mri
! ldconfig -p | grep cuda
libnvrtc.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvrtc.so.12 libnvrtc.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvrtc.so libnvrtc-builtins.so.12.6 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvrtc-builtins.so.12.6 libnvrtc-builtins.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvrtc-builtins.so libnvonnxparser.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvonnxparser.so.10 libnvonnxparser.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvonnxparser.so libnvjpeg.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvjpeg.so.12 libnvjpeg.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvjpeg.so libnvinfer_vc_plugin.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_vc_plugin.so.10 libnvinfer_vc_plugin.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_vc_plugin.so libnvinfer_plugin.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_plugin.so.10 libnvinfer_plugin.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_plugin.so libnvinfer_lean.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_lean.so.10 libnvinfer_lean.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_lean.so libnvinfer_dispatch.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_dispatch.so.10 libnvinfer_dispatch.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer_dispatch.so libnvinfer.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer.so.10 libnvinfer.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvinfer.so libnvfatbin.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvfatbin.so.12 libnvfatbin.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvfatbin.so libnvblas.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvblas.so.12 libnvblas.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvblas.so libnvToolsExt.so.1 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvToolsExt.so.1 libnvToolsExt.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvToolsExt.so libnvJitLink.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvJitLink.so.12 libnvJitLink.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnvJitLink.so libnpps.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnpps.so.12 libnpps.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnpps.so libnppitc.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppitc.so.12 libnppitc.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppitc.so libnppisu.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppisu.so.12 libnppisu.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppisu.so libnppist.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppist.so.12 libnppist.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppist.so libnppim.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppim.so.12 libnppim.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppim.so libnppig.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppig.so.12 libnppig.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppig.so libnppif.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppif.so.12 libnppif.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppif.so libnppidei.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppidei.so.12 libnppidei.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppidei.so libnppicc.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppicc.so.12 libnppicc.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppicc.so libnppial.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppial.so.12 libnppial.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppial.so libnppc.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppc.so.12 libnppc.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libnppc.so libicudata.so.74 (libc6,x86-64) => /lib/x86_64-linux-gnu/libicudata.so.74 libcusparse.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusparse.so.12 libcusparse.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusparse.so libcusolverMg.so.11 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusolverMg.so.11 libcusolverMg.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusolverMg.so libcusolver.so.11 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusolver.so.11 libcusolver.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcusolver.so libcurand.so.10 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcurand.so.10 libcurand.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcurand.so libcuinj64.so.12.6 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcuinj64.so.12.6 libcuinj64.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcuinj64.so libcufile_rdma.so.1 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufile_rdma.so.1 libcufile_rdma.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufile_rdma.so libcufile.so.0 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufile.so.0 libcufile.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufile.so libcufftw.so.11 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufftw.so.11 libcufftw.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufftw.so libcufft.so.11 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufft.so.11 libcufft.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcufft.so libcudnn_ops.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_ops.so.9 libcudnn_heuristic.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_heuristic.so.9 libcudnn_graph.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_graph.so.9 libcudnn_engines_runtime_compiled.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_engines_runtime_compiled.so.9 libcudnn_engines_precompiled.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_engines_precompiled.so.9 libcudnn_cnn.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_cnn.so.9 libcudnn_adv.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn_adv.so.9 libcudnn.so.9 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudnn.so.9 libcudart.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudart.so.12 libcudart.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcudart.so libcudadebugger.so.1 (libc6,x86-64) => /usr/lib/wsl/lib/libcudadebugger.so.1 libcuda.so.1 (libc6,x86-64) => /usr/lib/wsl/lib/libcuda.so.1 libcublasLt.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcublasLt.so.12 libcublasLt.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcublasLt.so libcublas.so.12 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcublas.so.12 libcublas.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libcublas.so libaccinj64.so.12.6 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libaccinj64.so.12.6 libaccinj64.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libaccinj64.so libOpenCL.so.1 (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libOpenCL.so.1 libOpenCL.so (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/libOpenCL.so do_not_link_against_nvinfer_builder_resource_win (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/do_not_link_against_nvinfer_builder_resource_win do_not_link_against_nvinfer_builder_resource (libc6,x86-64) => /usr/local/cuda-12.6/targets/x86_64-linux/lib/do_not_link_against_nvinfer_builder_resource
sudo nano ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.6/targets/x86_64-linux/lib/stubs
!pip freeze # 查看已安装的库及版本
absl-py==2.1.0 aiohappyeyeballs==2.4.6 aiohttp==3.11.13 aiosignal==1.3.2 anyio==4.8.0 argon2-cffi==23.1.0 argon2-cffi-bindings==21.2.0 arrow==1.3.0 astropy==7.0.1 astropy-iers-data==0.2025.2.24.0.34.4 asttokens==3.0.0 astunparse==1.6.3 async-lru==2.0.4 attrs==25.1.0 babel==2.17.0 beautifulsoup4==4.13.3 bleach==6.2.0 brainweb-dl @ git+https://github.com/paquiteau/brainweb-dl.git@2efc9f7ae78cdb76ff4b80e903d625f4407a085e certifi==2025.1.31 cffi==1.17.1 charset-normalizer==3.4.1 comm==0.2.2 contourpy==1.3.1 cupy-cuda12x==13.3.0 cycler==0.12.1 debugpy==1.8.12 decorator==5.2.1 defusedxml==0.7.1 executing==2.2.0 fastjsonschema==2.21.1 fastmri==0.3.0 fastrlock==0.8.3 filelock==3.16.1 finufft==2.3.1 flatbuffers==25.2.10 fonttools==4.56.0 fqdn==1.5.1 frozenlist==1.5.0 fsspec==2024.10.0 gast==0.6.0 google-pasta==0.2.0 gpuNUFFT==0.9.0 grpcio==1.70.0 h11==0.14.0 h5py==3.13.0 httpcore==1.0.7 httpx==0.28.1 idna==3.10 imageio==2.37.0 importlib_metadata==8.6.1 importlib_resources==6.5.2 ipykernel==6.29.5 ipython==8.32.0 isoduration==20.11.0 jedi==0.19.2 Jinja2==3.1.4 joblib==1.4.2 json5==0.10.0 jsonpointer==3.0.0 jsonschema==4.23.0 jsonschema-specifications==2024.10.1 jupyter==1.1.1 jupyter-console==6.6.3 jupyter-events==0.12.0 jupyter-lsp==2.2.5 jupyter_client==8.6.3 jupyter_core==5.7.2 jupyter_server==2.15.0 jupyter_server_terminals==0.5.3 jupyterlab==4.3.5 jupyterlab_pygments==0.3.0 jupyterlab_server==2.27.3 jupyterlab_widgets==3.0.13 keras==3.8.0 kiwisolver==1.4.8 lazy_loader==0.4 libclang==18.1.1 lightning-utilities==0.12.0 Markdown==3.7 markdown-it-py==3.0.0 MarkupSafe==3.0.2 matplotlib==3.10.0 matplotlib-inline==0.1.7 mdurl==0.1.2 mistune==3.1.2 ml-dtypes==0.4.1 modopt==1.7.2 mpmath==1.3.0 mri-nufft==1.1.1 multidict==6.1.0 namex==0.0.8 nbclient==0.10.2 nbconvert==7.16.6 nbformat==5.10.4 nest-asyncio==1.6.0 networkx==3.4.2 nibabel==5.3.2 notebook==7.3.2 notebook_shim==0.2.4 numpy==1.26.4 nvidia-cublas-cu12==12.6.4.1 nvidia-cuda-cupti-cu12==12.6.80 nvidia-cuda-nvcc-cu12==12.5.82 nvidia-cuda-nvrtc-cu12==12.6.77 nvidia-cuda-runtime-cu12==12.6.77 nvidia-cudnn-cu12==9.5.1.17 nvidia-cufft-cu12==11.3.0.4 nvidia-cufile-cu12==1.11.1.6 nvidia-curand-cu12==10.3.7.77 nvidia-cusolver-cu12==11.7.1.2 nvidia-cusparse-cu12==12.5.4.2 nvidia-cusparselt-cu12==0.6.3 nvidia-nccl-cu12==2.25.1 nvidia-nvjitlink-cu12==12.6.85 nvidia-nvtx-cu12==12.6.77 opt_einsum==3.4.0 optree==0.14.0 overrides==7.7.0 packaging==24.2 pandas==2.2.3 pandocfilters==1.5.1 parso==0.8.4 pexpect==4.9.0 pillow==11.0.0 platformdirs==4.3.6 progressbar2==4.5.0 prometheus_client==0.21.1 prompt_toolkit==3.0.50 propcache==0.3.0 protobuf==5.29.3 psutil==7.0.0 ptyprocess==0.7.0 pure_eval==0.2.3 pybind11==2.13.6 pycparser==2.22 pyerfa==2.0.1.5 Pygments==2.19.1 pyNFFT2==1.4.3 pyparsing==3.2.1 pysap-mri @ git+https://github.com/CEA-COSMIC/pysap-mri.git@367ca7302986965c650fb8261dbae5b791864f69 python-dateutil==2.9.0.post0 python-json-logger==3.2.1 python-PySAP @ git+https://github.com/CEA-COSMIC/pysap.git@1cfe7fe5196b9ffdda0eafcbc509e69fcd72c4fb python-utils==3.9.1 pytorch-lightning==2.5.0.post0 pytorch-triton==3.2.0+git4b3bb1f8 pytz==2025.1 PyWavelets==1.8.0 PyYAML==6.0.2 pyzmq==26.2.1 referencing==0.36.2 requests==2.32.3 rfc3339-validator==0.1.4 rfc3986-validator==0.1.1 rich==13.9.4 rpds-py==0.23.1 runstats==2.0.0 scikit-image==0.25.2 scikit-learn==1.6.1 scipy==1.15.2 Send2Trash==1.8.3 six==1.17.0 sniffio==1.3.1 soupsieve==2.6 stack-data==0.6.3 sympy==1.13.3 tensorboard==2.18.0 tensorboard-data-server==0.7.2 tensorflow==2.18.0 tensorflow-io-gcs-filesystem==0.37.1 termcolor==2.5.0 terminado==0.18.1 threadpoolctl==3.5.0 tifffile==2025.2.18 tinycss2==1.4.0 torch==2.7.0.dev20250224+cu126 torchaudio==2.6.0.dev20250224+cu126 torchmetrics==1.6.1 torchvision==0.22.0.dev20250224+cu126 tornado==6.4.2 tqdm==4.67.1 traitlets==5.14.3 types-python-dateutil==2.9.0.20241206 typing_extensions==4.12.2 tzdata==2025.1 uri-template==1.3.0 urllib3==2.3.0 wcwidth==0.2.13 webcolors==24.11.1 webencodings==0.5.1 websocket-client==1.8.0 Werkzeug==3.1.3 widgetsnbextension==4.0.13 wrapt==1.17.2 yarl==1.18.3 zipp==3.21.0
!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Tue_Oct_29_23:50:19_PDT_2024 Cuda compilation tools, release 12.6, V12.6.85 Build cuda_12.6.r12.6/compiler.35059454_0
from mri.operators import NonCartesianFFT
import numpy as np
# 假设您已经有了合适的输入 kspace 数据,smaps 等
fourier_op_sense = NonCartesianFFT(
samples=kspace_loc,
shape=image.shape,
n_coils=cartesian_ref_image.shape[0],
smaps=Smaps,
implementation='gpuNUFFT', # 使用 GPU 后端
)
print(fourier_op_sense)
<mri.operators.fourier.non_cartesian.NonCartesianFFT object at 0x7fa51013d310>
/home/home/miniconda3/envs/tensor/lib/python3.11/site-packages/mrinufft/operators/interfaces/gpunufft.py:146: UserWarning: no pinning provided, pinning existing smaps now.
warnings.warn("no pinning provided, pinning existing smaps now.")
import os
print(os.environ.get('CUDA_HOME'))
/usr/local/cuda-12.6
import pysap
from mri.operators import NonCartesianFFT, WaveletUD2, WaveletN
from mri.operators.utils import convert_locations_to_mask, \
gridded_inverse_fourier_transform_nd
from mri.reconstructors import SingleChannelReconstructor
from pysap.data import get_sample_data
# Third party import
from modopt.math.metrics import ssim
from modopt.opt.linear import Identity
from modopt.opt.proximity import SparseThreshold
import numpy as np
import matplotlib.pyplot as plt
Configuration¶
!nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2024 NVIDIA Corporation Built on Tue_Oct_29_23:50:19_PDT_2024 Cuda compilation tools, release 12.6, V12.6.85 Build cuda_12.6.r12.6/compiler.35059454_0
import tensorflow as tf
print(tf.__version__) # 查看 TensorFlow 版本
print(tf.config.list_physical_devices('GPU')) # 查看 GPU 设备
2.18.0 [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
import torch
print(torch.__version__) # 查看 PyTorch 版本
print(torch.cuda.is_available()) # 查看是否有 GPU 可用
print(torch.cuda.get_device_name(0)) # 查看使用的 GPU 名称
print(torch.version.cuda) # 查看 CUDA 版本
2.7.0.dev20250224+cu126 True NVIDIA T1200 Laptop GPU 12.6