Intel C++ 15.0 컴파일러를 사용하여 Visual Studio 2012에서 가속기 (openMP 4.0) 용으로 openMP를 사용하려고합니다. 나는 #pragma omp target
라인을 언급 할 때 물론가속기 용 OpenMP 4.0 : Nvidia GPU 대상
#include <stdio.h>
#include<iostream>
#include <omp.h>
using namespace std;
int main(){
#pragma omp target
#pragma omp parallel for
for (int i=0; i<1000; i++)
cout<<"Hello world, i am number "<< i <<endl;
}
이 모든 것이 잘 진행 :
내 가속기는이 코드는 컴파일되지 않습니다 엔비디아 지포스 GTX 670
입니다. 내가 OpenMP의에서 가속기로
내가 도착하면 다음과 같은 오류 및 경고입니다 (내 시스템에 잠재적 인 가속기의 수를 반환해야합니다 예를 들어 omp_get_num_devices()
기능) 4.0 표준 관련 아무것도 할 때
error #10340: problem encountered when performing target compilation
error : *MIC* cannot open source file "stdio.h"
warning #10362: Environment configuration problem encountered. Please check for proper MPSS installation and environment setup.
인해 *MIC*
태그에, 여기 내 이론 : 인텔 컴파일러 (인텔 MIC 가속기 용) MIC 응용 프로그램을 구축을 위해 노력하고 유효한 가속기로 내 엔비디아 GPU를 허용하지 않습니다 기본적으로. 이게 얼마나 가능성이 있니? 그것은 내 VS 프로젝트 속성에서 관리 할 수있는 것입니까?
더 심각한 문제가 있습니다. OpenMP 4.0이 Nvidia GPU를 가속기로 지원합니까? (나는 OpenACC가 그 목적으로 만들어 졌음을 알고 있지만 경제적 인 이유 때문에 내가 할 수있는 evry OpenMP 기능을 사용하고 싶다.)
어떤 도움을 주실 분은 정말 감사하겠습니다.
OpenCL 또는 CUDA를 사용해야합니다. –
GCC 5.0은이 http://www.phoronix.com/scan.php?page=news_item&px=GCC-5-Offloading-How-To를 지원합니다. –