Автор Тема: видио карта GTX 760 и CUDA  (Прочитано 3017 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн veleslav

видио карта GTX 760 и CUDA
« : 12 Февраля 2015, 11:27:15 »
ребят подскажите.

есть комп с картой GTX 760

дрова ставил с сайта нвидии. как устанавливать нашел в интернете.


проблема в следующем.

все работает нормально. НО в 3D редакторе blender3d нет опции с поддержкой аппаратного рендера через CUDA.

рендер сайклс.

может кто что посоветует? даже не знаю с чего начинать
 

Оффлайн ihammers

Re: видио карта GTX 760 и CUDA
« Ответ #1 : 12 Февраля 2015, 15:50:36 »
Для начало проверьте работает ли у вас CUDA и во-вторых Blender3d (не blender?) собран с поддержкой CUDA?
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Оффлайн veleslav

Re: видио карта GTX 760 и CUDA
« Ответ #2 : 16 Февраля 2015, 08:43:52 »
я вот даже не знаю как он собран, с поддержкой али нет.

aptitude install blender3d

так я его ставил. как он собран в репозитории мне неведомо.

а вот как проверить работает ли CUDA я даже не знаю.

если расскажите подробнее о том как собрать blender3d самому но с поддержкой CUDA буду премного благодарен.
ну и хотелось бы заодно узнать про CUDA в линуксе в целом.
накидайте хотябы ссылок
 

Оффлайн Leo

Re: видио карта GTX 760 и CUDA
« Ответ #3 : 16 Февраля 2015, 09:10:50 »
Обратитесь на Jabber-конференцию blender@conference.jabber.ru, там спецы по Blender сидят.

Оффлайн ihammers

Re: видио карта GTX 760 и CUDA
« Ответ #4 : 16 Февраля 2015, 10:49:46 »
aptitude install blender3dтак я его ставил. как он собран в репозитории мне неведомо.
В официальном репозитории такого пакета нету.

а вот как проверить работает ли CUDA я даже не знаю.

если расскажите подробнее о том как собрать blender3d самому но с поддержкой CUDA буду премного благодарен.
ну и хотелось бы заодно узнать про CUDA в линуксе в целом.
накидайте хотябы ссылок
Насчёт, того как проверить...
Например написать программу (или найти) сложения векторов:
Spoiler: ShowHide
Код: (python) [Выделить]
http://documen.tician.de/pycuda/
import pycuda.autoinit
import pycuda.driver as drv
import numpy

from pycuda.compiler import SourceModule
mod = SourceModule("""
__global__ void multiply_them(float *dest, float *a, float *b)
{
  const int i = threadIdx.x;
  dest[i] = a[i] * b[i];
}
""")

multiply_them = mod.get_function("multiply_them")

a = numpy.random.randn(400).astype(numpy.float32)
b = numpy.random.randn(400).astype(numpy.float32)

dest = numpy.zeros_like(a)
multiply_them(
        drv.Out(dest), drv.In(a), drv.In(b),
        block=(400,1,1), grid=(1,1))

print dest-a*b

Информацию по CUDA можно найти на сайте разработчика, то есть NVidia.
Пример на Си (вырезка из документации):
Spoiler: ShowHide
Код: (c) [Выделить]
// Matrices are stored in row-major order:
// M(row, col) = *(M.elements + row * M.width + col)
typedef struct {
    int width;
    int height;
    float* elements;
} Matrix;

// Thread block size
#define BLOCK_SIZE 16

// Forward declaration of the matrix multiplication kernel
__global__ void MatMulKernel(const Matrix, const Matrix, Matrix);

// Matrix multiplication - Host code
// Matrix dimensions are assumed to be multiples of BLOCK_SIZE
void MatMul(const Matrix A, const Matrix B, Matrix C)
{
    // Load A and B to device memory
    Matrix d_A;
    d_A.width = A.width; d_A.height = A.height;
    size_t size = A.width * A.height * sizeof(float);
    cudaMalloc(&d_A.elements, size);
    cudaMemcpy(d_A.elements, A.elements, size,
               cudaMemcpyHostToDevice);
    Matrix d_B;
    d_B.width = B.width; d_B.height = B.height;
    size = B.width * B.height * sizeof(float);
    cudaMalloc(&d_B.elements, size);
    cudaMemcpy(d_B.elements, B.elements, size,
               cudaMemcpyHostToDevice);

    // Allocate C in device memory
    Matrix d_C;
    d_C.width = C.width; d_C.height = C.height;
    size = C.width * C.height * sizeof(float);
    cudaMalloc(&d_C.elements, size);

    // Invoke kernel
    dim3 dimBlock(BLOCK_SIZE, BLOCK_SIZE);
    dim3 dimGrid(B.width / dimBlock.x, A.height / dimBlock.y);
    MatMulKernel<<<dimGrid, dimBlock>>>(d_A, d_B, d_C);

    // Read C from device memory
    cudaMemcpy(C.elements, Cd.elements, size,
               cudaMemcpyDeviceToHost);

    // Free device memory
    cudaFree(d_A.elements);
    cudaFree(d_B.elements);
    cudaFree(d_C.elements);
}

// Matrix multiplication kernel called by MatMul()
__global__ void MatMulKernel(Matrix A, Matrix B, Matrix C)
{
    // Each thread computes one element of C
    // by accumulating results into Cvalue
    float Cvalue = 0;
    int row = blockIdx.y * blockDim.y + threadIdx.y;
    int col = blockIdx.x * blockDim.x + threadIdx.x;
    for (int e = 0; e < A.width; ++e)
        Cvalue += A.elements[row * A.width + e]
                * B.elements[e * B.width + col];
    C.elements[row * C.width + col] = Cvalue;
}


Read more at: http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#ixzz3RtMzTHhr
Follow us: @GPUComputing on Twitter | NVIDIA on Facebook
« Последнее редактирование: 16 Февраля 2015, 10:51:20 от ihammers »
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Оффлайн Astar

  • Новичок форума
  • Сообщений: 2
Re: видио карта GTX 760 и CUDA
« Ответ #5 : 16 Февраля 2015, 23:57:52 »
jessie, стоит nvidia-kernel-dkms, nvidia-glx, nvidia-xconfig и libcuda1
Последний blender, скаченный с оф сайта - рендерит сусликом куда-ядрами вовсю.
 

Оффлайн Александр Кряжев

Re: видио карта GTX 760 и CUDA
« Ответ #6 : 17 Февраля 2015, 15:12:11 »
Берите лучше Блендер отсюда: http://download.blender.org/release/
Да, не тру-метод, но - всегда свежая версия.
 

Оффлайн veleslav

Re: видио карта GTX 760 и CUDA
« Ответ #7 : 23 Февраля 2015, 17:56:25 »
всем спасибо ребят....

все что нужно все написали....

всех благ вам
 

Оффлайн ihammers

Re: видио карта GTX 760 и CUDA
« Ответ #8 : 24 Февраля 2015, 05:10:25 »
To veleslav, если тема решена, но добавьте в название темы [Решено].
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Оффлайн Utility

Re: видио карта GTX 760 и CUDA
« Ответ #9 : 28 Июня 2015, 21:45:51 »
Свои 5 копеек,
Spoiler: ShowHide
apt-get -s --no-install-recommends install libcuda1
не спасло;
после
Spoiler: ShowHide
apt-get -s --no-install-recommends install  linux-headers-`uname -r`
# пригодится для dpkg-reconfigure nvidia-kernel-dkms не помогло
сразу же
Spoiler: ShowHide
apt-get -s --no-install-recommends-install install nvidia-cuda-toolkit
всё встало
после
Spoiler: ShowHide
apt-get -s purge libcuda1
попытаеться удалить
Spoiler: ShowHide
Следующие пакеты устанавливались автоматически и больше не требуются:
  g++ g++-4.9 libcublas6.0 libcudart6.0 libcufft6.0 libcufftw6.0 libcurand6.0
  libcusparse6.0 libnppc6.0 libnppi6.0 libnpps6.0 libnvblas6.0 libnvtoolsext1
  libnvvm2 libstdc++-4.9-dev libthrust-dev nvidia-libopencl1 nvidia-opencl-dev
  opencl-headers
Для их удаления используйте «apt-get autoremove».
Пакеты, которые будут УДАЛЕНЫ:
  libcuda1* libcuinj64-6.0* nvidia-cuda-dev* nvidia-cuda-toolkit*
  nvidia-profiler*
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 5 пакетов, и 0 пакетов не обновлено.

Спасибо


Cообщение объединено 28 Июня 2015, 21:46:59
последнее с purge, для показа, от чего зависит
Стационар = MB: ASRock N68-gs4 FX R2.0 ; CPU: Athlon II x3 460 => Phenom B60; RAM: 2x Kingston KVR1333D3N9/4G; VGA: zotac gt630 4G
Ноутбук = ASUS x55a = MB: chipset HM70; CPU: Celeron B820; RAM: 2G: VGA: intel3000; audio VT1802
 

Теги: