Dear all,
I was trying to install PyFR.1.12.2 on a new workstation, equipped with AMD Ryzen Threadripper 3970X 32-Core Processor and Nvidia GeForce RTX 2070 SUPER running Windows 10. I could have made it successfully on a Linux system with a virtual machine such as VMware, but due to the lack of PCIe passthrough, I couldn’t get the best performance with the help of GPUs. Thus, I would be certainly loved to give it a try, following the installation steps that Nolan_Dyck posted. I built a virtual environment under Anaconda and debug the code with Pycharm, using pip install -e .
as the post illustrated. However, every compilation went well until the 13th step Test the couette_flow_2d example in pyfr!
. The error showed that the cuda.dll couldn’t be found in the code, while I searched nothing relates to the cuda.dll through the whole CUDA path directory either.
I had installed all the dependencies pyfr needs. The CUDA Toolkit11.1 was installed and it’s lib was also included in the path. So it’s quite confusing that CUDA module didn’t work.
It should be noted that I had modified the backend components in ini file as follows:
[backend-cuda]
device-id = local-rank
mpi-type = cuda-aware
block-1d = 64
block-2d = 128
The error was like the following:
PS G:\PyFR\pyfr\examples\couette_flow_2d> pyfr run -b cuda -p .\couette.pyfrm .\couette_flow_2d.ini
Traceback (most recent call last):
File "g:\pyfr\pyfr\pyfr\ctypesutil.py", line 57, in load_library
return ctypes.CDLL(lname)
File "G:\software\envs\pyfr_tf\lib\ctypes\__init__.py", line 373, in __init__
self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'cuda.dll' (or one of its dependencies). Try using the full path with constructor syntax.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "G:\software\envs\pyfr_tf\Scripts\pyfr-script.py", line 33, in <module>
sys.exit(load_entry_point('pyfr', 'console_scripts', 'pyfr')())
File "g:\pyfr\pyfr\pyfr\__main__.py", line 117, in main
args.process(args)
File "g:\pyfr\pyfr\pyfr\__main__.py", line 250, in process_run
_process_common(
File "g:\pyfr\pyfr\pyfr\__main__.py", line 226, in _process_common
backend = get_backend(args.backend, cfg)
File "g:\pyfr\pyfr\pyfr\backends\__init__.py", line 12, in get_backend
return subclass_where(BaseBackend, name=name.lower())(cfg)
File "g:\pyfr\pyfr\pyfr\backends\cuda\base.py", line 20, in __init__
self.cuda = CUDA()
File "g:\pyfr\pyfr\pyfr\backends\cuda\driver.py", line 233, in __init__
self.lib = CUDAWrappers()
File "g:\pyfr\pyfr\pyfr\ctypesutil.py", line 14, in __init__
lib = load_library(self._libname)
File "g:\pyfr\pyfr\pyfr\ctypesutil.py", line 66, in load_library
raise OSError(f'Unable to load {name}')
OSError: Unable to load cuda
I was wondering if anyone ever met a similar problem when running PyFR on windows10? Thanks for any advices!
Regards, Thatcher