首页 > 解决方案 > OMP 并行在目标文件中被忽略

问题描述

注意:我不太了解目标文件、链接或制作文件。我只了解足以让程序运行

我正在研究我以前的项目的 GPU 加速版本,它可以正常工作。我目前正在测试我用于其他 CUDA 程序的 make 文件的修改版本。

文件:

exe: main.o b.o

    gcc -fopenmp -L /usr/local/cuda/lib64 -o exe main.o b.o -lcudart -lglfw -lGL

main: 

    gcc -fopenmp -o main.o main.c -Ofast -march=native -mtune=native -lglfw -lGL -I /usr/local/cuda/include

b.o: b.cu b.h

    nvcc -Xcompiler -fPIC -ccbin clang-3.8 -c -o b.o b.cu

b.cu 是一个包含一些测试功能的 CUDA 文件;它还没有影响任何东西。

当我运行编译后的程序时,它只使用一个内核,并以 1/4 的帧速率运行(这是在 4 核 cpu 上所期望的)。

我已经用谷歌搜索了尽可能多的问题,但我没有找到任何适合我的结果。

系统信息:

操作系统:Ubuntu 18.04 仿生

中央处理器:AMD A8-3850

显卡:GeForce GTX 1060 6GB

内存:7974MiB

海湾合作委员会:7.3.0

标签: gcclinkeropenmpobject-files

解决方案


推荐阅读