LINUX.ORG.RU

Вычисления на Nvidia Optimus

 , , ,


0

1

Да, я знаю, что считать на ноутбуке - извращение, но больше у меня под рукой ничего стоящего нет.

Имеется:

  • Ноут
  • fedora 3.7.5-201.fc18.x86_64
  • Вполне себе рабочий Nvidia Optimus
  • Расчёты по динамике частиц

Хочу установить и использовать OpenCl, но вот как-то не выходит завести. Прошу гайдов, советов, критики и прочего, как заставить всё это работать.

★★★★★

Ответ на: комментарий от i_gnatenko_brain

я попробовал, но куча жалоб на недостающие библиотеки и хеадеры. После всех терзаний выдало:

$ g++ opencl.cpp -lOpenCL -o opencl && ./opencl
In file included from opencl.cpp:2:0:
/usr/include/CL/cl.hpp: В функции «cl_int cl::UnloadCompiler()»:
/usr/include/CL/cl.hpp:1606:12: ошибка: «::clUnloadCompiler» не был декларирован
/usr/include/CL/cl.hpp: In constructor «cl::Image2D::Image2D(const cl::Context&, cl_mem_flags, cl::ImageFormat, size_t, size_t, size_t, void*, cl_int*)»:
/usr/include/CL/cl.hpp:2365:19: ошибка: «::clCreateImage2D» не был декларирован
/usr/include/CL/cl.hpp: In constructor «cl::Image2DGL::Image2DGL(const cl::Context&, cl_mem_flags, GLenum, GLint, GLuint, cl_int*)»:
/usr/include/CL/cl.hpp:2410:19: ошибка: «::clCreateFromGLTexture2D» не был декларирован
/usr/include/CL/cl.hpp: In constructor «cl::Image3D::Image3D(const cl::Context&, cl_mem_flags, cl::ImageFormat, size_t, size_t, size_t, size_t, size_t, void*, cl_int*)»:
/usr/include/CL/cl.hpp:2464:19: ошибка: «::clCreateImage3D» не был декларирован
/usr/include/CL/cl.hpp: In constructor «cl::Image3DGL::Image3DGL(const cl::Context&, cl_mem_flags, GLenum, GLint, GLuint, cl_int*)»:
/usr/include/CL/cl.hpp:2510:19: ошибка: «::clCreateFromGLTexture3D» не был декларирован
/usr/include/CL/cl.hpp: В функции-члене «cl_int cl::CommandQueue::enqueueMarker(cl::Event*) const»:
/usr/include/CL/cl.hpp:3745:13: ошибка: «::clEnqueueMarker» не был декларирован
/usr/include/CL/cl.hpp: В функции-члене «cl_int cl::CommandQueue::enqueueWaitForEvents(const std::vector<cl::Event>&) const»:
/usr/include/CL/cl.hpp:3752:13: ошибка: «::clEnqueueWaitForEvents» не был декларирован
/usr/include/CL/cl.hpp: В функции-члене «cl_int cl::CommandQueue::enqueueBarrier() const»:
/usr/include/CL/cl.hpp:3867:13: ошибка: «::clEnqueueBarrier» не был декларирован
и тут силы меня покинули. я не кодер, в меру необходимости что-то делаю

ZERG ★★★★★ ()
Ответ на: комментарий от darkenshvein

CUDA привязывает к железу, а я хочу этого избежать.

ZERG ★★★★★ ()
Ответ на: комментарий от ZERG

#include правильные стоят?

судяпо выхлопу не включен плюсовый хедер для opencl

Slackware_user ★★★★★ ()
Ответ на: комментарий от Kompilainenn

Он так медленнее работает же. Хотя сам не мерил — не знаю.

ivanlex ★★★★ ()
Ответ на: комментарий от ivanlex

Они все грозятся улучшить производительность OpenCL.

Но использовать CUDA все равно намного приятнее :)

unfo ★★★★★ ()
Ответ на: комментарий от Slackware_user

Переносимости у CUDA нет, но писать под нее проще и прятней, этого никак не отнять.

А насчет интела - где-то проскакивало, что OpenCL у них быстрее на CPU, чем на GPU, т.е. толку от gpgpu никакого :)

unfo ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.