簡體   English   中英

在cuda主機代碼中使用openMP?

[英]Using openMP in the cuda host code?

可以在CUDA文件中使用openMP pragma(不在內核代碼中)嗎?

我將結合gpu和cpu計算。 但是nvvc編譯器失敗,“無法找到未知選項'openmp'”,如果我將porgram與openmp選項鏈接(在linux下)

一種解決方法是僅在c / c ++文件中使用openMP-statments。

我剛發現了這個

http://www.cse.buffalo.edu/faculty/miller/Courses/CSE710/heavner.pdf

第25頁說:

用gcc: - #include omp.h

添加-fopenmp標志

使用nvcc,這應該是-Xcompiler -fopenmp因為這需要直接傳遞給gcc -Xcompiler直接傳遞給主機編譯器的標志

在鏈接階段添加-lgomp標志。

我還沒有嘗試過......

我嘗試在“其他編譯器選項”中編寫參數,但它不起作用。

我為Visual Studio 2010和CUDA 4.2做了什么:

在項目屬性 - >配置屬性 - > CUDA C / C ++ - >命令行 - >其他選項:-Xcompiler“/ openmp”

這會在生成的構建命令中生成兩個-Xcompiler參數,但不會導致任何問題並成功運行。

從nvidia-forum找到的Visual Studio解決方案:

將'/ openmp'標志添加到cuda構建規則中的Extra C ++ Options。 我稍后會嘗試linux解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM