Коллеги, не удается полноценно запустить элементарную программку.
Что есть:
Windows 7 64
Qt 5.5.1 Desktop MSVC2013 64bit (тестил и с MinGW 32 bit)
Nvidia GeForce 540
Драйвера CUDA установлены для 64 bit.
В Visual Studio 2013 CUDA примеры компилятся и работают.
Вот эта программка, тоже собирается из QtCreator и запускается, выводя на экран "Using platform: NVIDIA CUDA"
Pro файл:
QT += core
QT -= gui
TARGET = QtTestCuda
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
QMAKE_CXXFLAGS += -std=c++0x
LIBS += -L$$PWD/ -L"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/lib/x64" -lOpenCL
INCLUDEPATH += $$PWD/ "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/include"
DEPENDPATH += $$PWD/ "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v7.5/include"
main.cpp:
#include <CL/cl.hpp>
#include <iostream>
#include <vector>
//#define __NO_STD_VECTOR
int main(int argc, char *argv[])
{
//get all platforms (drivers)
std::vector<cl::Platform> all_platforms;
cl::Platform::get(&all_platforms);
if(all_platforms.size()==0){
std::cout<<" No platforms found. Check OpenCL installation!\n";
exit(1);
}
cl::Platform default_platform=all_platforms[0];
std::cout << "Using platform: "<<default_platform.getInfo<CL_PLATFORM_NAME>()<<"\n";
//get default device of the default platform
std::vector<cl::Device> all_devices;
default_platform.getDevices(CL_DEVICE_TYPE_ALL, &all_devices);//!!!!!!!!!!!!!!
return 0;
}
но как только раскомментирую предпоследнюю строчку с "!!!!!!!!" - то вылезает
"Не удалось получить идентификатор подчинённого процесса: Параметр задан неверно.", либо
"..../QtTestCuda.exe завершился с кодом -1073741511"
Буду благодарен за подсказки. Измучился уже.
UPD:
В студии 2013 ситуация похожая - без строчки "!!!!!" все работает, а с ней - вылезает сообщение