是否可以使用 CUDA 或其他方式在 GPU 上使用 openMP 运行程序?
我有一个并发程序,但我的电脑只有 2 个内核。
我需要在 8 个或更多内核上测试程序。
感谢帮助!
是否可以使用 CUDA 或其他方式在 GPU 上使用 openMP 运行程序?
我有一个并发程序,但我的电脑只有 2 个内核。
我需要在 8 个或更多内核上测试程序。
感谢帮助!
有一种类似于 OpenMP 的OpenACC ,尽管它当然适应了 CPU+GPU 非常不同的不对称情况。
但是,如果您的目的是测试 OpenMP 代码,那么答案肯定是“否”。您不能采用相同的程序,并且无论如何它都不会以相同的方式执行。
您最好的选择可能是使用 OMP_NUM_THREADS=8 执行 OpenMP 程序,即使只有 2 个内核可用,它也会启动 8 个线程。但是,某些方面(例如锁竞争)仍然与真正的 8 核系统不同。