我正在尝试运行一个非常简单的 openACC 程序,但无法正确编译它。我在 Windows 10 上运行 Ubuntu 20.04。
首先,我尝试安装在http://www.nvidia.com/openacc。解压 .tar 文件后,我运行了install --help
,因为我对在 Ubuntu 上安装非常不熟悉。帮助消息包含以下内容:
This install program copies files (often just compiled) into destination locations you choose. If you want to download and install a ready-to-use package on a GNU/Linux system, you should instead be using a package manager like yum(1) or apt-get(1).
如果我理解正确的话,我需要使用包管理器安装编译器。但是,我不知道应该运行哪个命令来执行此操作。
无论我如何运行安装程序,它都会安装在我所在文件夹的子文件夹中。我不知道应该将这些文件放在哪里,以及如何在其他地方访问 pgcc 编译器。
由于使用 NVIDIA 软件包没有成功,我尝试使用带有以下-fopenacc
标志的 GNU gcc 编译器:https://gcc.gnu.org/wiki/OpenACC。但是,我收到以下错误:
lto-wrapper: fatal error: could not find accel/nvptx-none/mkoffload in /usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/ (consider using ‘-B’)
如果我理解正确的话,这与未配置卸载有关,如下面“典型编译器用法”部分所示:https://gcc.gnu.org/wiki/OpenACC/Quick%20Reference%20Guide。尝试弄清楚如何正确配置这一点让我走进了死胡同。
此时我感到非常沮丧,因为我花了好几个小时才尝试编译一个非常简单的程序。我正在学习一门关于并行计算的课程,openMP、MPI 和 Pthreads 都是包含库或安装包的问题。我不知道为什么获得一个可以运行的 openACC 编译器如此困难...