我想在 GPU 上使用并行化测试运行一些有限差分时域 (FDTD) 模拟,并将其速度与基于 CPU 的模拟运行进行比较。这基本上是我第一次尝试使用 GPU 加速进行科学计算。
我的系统配置:
CPU: Intel Core i7-4930K @ 3.40 GHz
GPU: Gigabte GeForce GTX 1650 OC LP 4.0 GB
RAM: 32.0 GB (16.0 GB usable)
OS: Windows 7 Home Premium 64-bit
该 GPU 具有896 个 CUDA 核心和计算能力 7.5,因此与在“仅” 12 个 CPU 核心上运行模拟相比,我预计速度会显著加快。
模拟脚本使用fdtd
模拟包,为了方便起见,我使用了 Jupyter 笔记本。如果您对一些实际的代码参考感兴趣,我建议您查看fdtd
GitHub 页面上的简短示例脚本。
我安装了 CUDA ToolKit 10.2 版,因为这似乎是最后一个支持 Windows 7 的版本。至少根据下载页面(有人能证实这一点吗?)。
我还安装了++ torch
,只是因为torchvision
torchaudio
PyTorch 包含这些包在安装过程中。然而,我在尝试安装时卡住了PythonCUDA ToolKit似乎需要另一个包nvidia-pyindex
名为不适用于 Windows。此外,我对 CUDA 10.2 的 PyTorch 安装命令感到困惑,它说"CUDA-10.2 PyTorch builds are no longer available for Windows, please use CUDA-11.6"
,尤其是因为他们明确说明:
支持的 Windows 发行版
以下 Windows 发行版支持 PyTorch:
Windows 7的及更高版本;建议使用 Windows 10 或更高版本。Windows Server 2008 r2 及更高版本
在 Python 解释器中,我得到了
Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
False
并尝试在模拟包中设置 CUDA 后端并返回
import fdtd
fdtd.set_backend("torch.cuda.float64")
---------------------------------------------------------------------------
RuntimeError Traceback (most recent call last)
Input In [3], in <cell line: 35>()
31 display(HTML("<style>.container {width:100% !important;}</style>"))
33 #fdtd.set_backend("numpy")
34 #fdtd.set_backend("torch.float64")
---> 35 fdtd.set_backend("torch.cuda.float64")
File C:\Program Files\Python38\lib\site-packages\fdtd\backend.py:376, in set_backend(name)
374 raise RuntimeError("Torch backend is not available. Is PyTorch installed?")
375 if name.startswith("torch.cuda") and not TORCH_CUDA_AVAILABLE:
--> 376 raise RuntimeError(
377 "Torch cuda backend is not available.\n"
378 "Do you have a GPU on your computer?\n"
379 "Is PyTorch with cuda support installed?"
380 )
382 if name.count(".") == 0:
383 dtype, device = "float64", "cpu"
RuntimeError: Torch cuda backend is not available.
Do you have a GPU on your computer?
Is PyTorch with cuda support installed?
我该如何继续前进?
答案1
看来你陷入了僵局。
您的工具显然具有一系列依赖关系,需要较新版本的 Windows。
Python CUDA 工具包需要 CUDA >= 11.6
您已经安装了先前版本的 CUDA(10.2)
您应该安装 CUDA 11.6。如果 Windows 7 不支持它(这就是您尝试使用 10.2 的原因),那么您需要升级到较新版本的 Windows,然后升级到更新版本的 CUDA。
Windows 7 自 2020 年 1 月 14 日起不再受支持。对于尚未更新的旧工具来说,它可能是一个很好的主力,但当周围的世界继续变化时坚持使用它是不值得的。