PyCUDA documentation / Документация PyCUDA: Multi-dimensional arrays on the GPU http://documen.tician.de/pycuda/array.html
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Многомерные массивы на GPU wuffur 04.10.11 в 11:35 |
|
|
Типы Векторов wuffur 04.10.11 в 11:35 |
||
|
класс pycuda.gpuarray.vec wuffur 04.10.11 в 11:36 |
||
|
Все поддержанные CUDA типы векторов, такие как float3 и long4 доступны как типы данных numpy внутри этого класса. Эти экземпляры numpy.dtype имеют имена полей x, y, z, и w точно также как и их CUDA аналоги. Они будут работать как для передачи параметров ядрам, так и для передачи данных назад и дальше между ядрами и кодом Python. Для каждого типа также представлена функция make_type(например make_float3(x,y,z)). wuffur 04.10.11 в 11:40 |
||
|
Класс массивов GPUArray wuffur 04.10.11 в 11:40 |
||
|
класс pycuda.gpuarray.GPUArray(shape, dtype, *, allocator=None, order="C") wuffur 04.10.11 в 11:41 |
||
|
numpy.ndarray работает как будто он хранит свои данные и выполняет над ними вычисления на вычислительном устройстве. shape и dtype работают в точности как в numpy. Арифметические методы в GPUArray поддерживают трансляцию скаляров (например array +5). Если аллокатор вызываем, то до того как он вызывается с аргументом количества байт, которые он выделяет, возвращается объект, который может быть переведен в целое, представляя адрес заново распределенной памяти. Рассматривает оба его метода и pycuda.driver.mem_alloc() и pycuda.tools.DeviceMemoryPool.alloc(), которые являются моделью его интерфейса. wuffur 04.10.11 в 11:58 |
||
|
Все аргументы за аллокатором должны считаться только ключевыми словами. wuffur 04.10.11 в 11:59 Все аргументы за аллокатором следует считать только ключевыми словами. wuffur 04.10.11 в 12:01 |
||
|
Экземпляр pycuda.driver.DeviceAllocation создается для памяти, которая возвращает его в GPUArray. wuffur 04.10.11 в 12:01 |
||
|
Кортеж длин каждого измерения(размерности) в массиве. wuffur 04.10.11 в 12:02 |
||
|
numpy.dtype предметов находящихся в GPU массиве. wuffur 05.10.11 в 13:03 |
||
|
Число значимых записей в массиве. Может также вычисляться с помощью перемножения чисел в поле shape. wuffur 05.10.11 в 13:04 |
||
|
Общее число записей, включая заполнение, которые представлены в массиве. Заполнение может также возникнуть, например из-за шага корректировки с помощью pycuda.driver.mem_alloc_pitch(). wuffur 05.10.11 в 13:06 |
||
|
Размер целого массива в байтах. Вычисляется как произведение размера size на dtype.itemsize. wuffur 05.10.11 в 13:08 |
||
|
strides (расстояния) wuffur 05.10.11 в 13:08 |
||
|
Кортеж байт, которые нужно отшагнуть в каждом измерении, когда проходишь массив. wuffur 05.10.11 в 13:09 |
||
|
Возвращение объекта с атрибутами c_contiguous, f_contiguous и forc, которое может использоваться, чтобы запрашивать близкие свойства по аналогии с numpy.ndarray.flags. wuffur 05.10.11 в 13:09 |
||
|
Возвращает целое, отражая адрес в памяти устройства там, где этот массив находится. wuffur 06.10.11 в 13:31 |
||
|
Возвращает размер ведущих измерений аргумента self. wuffur 11.10.11 в 10:32 |
||
|
Предупреждение wuffur 11.10.11 в 10:33 |
||
|
Этот метод существует в версии 0.93 и ниже, но возвращает значение размера вместо текущего значения. Это изменение было сделано для того, чтобы соответствовать numpy. wuffur 11.10.11 в 10:34 |
||
|
Перемещают содержимое numpy.ndarray массива ary на устройство. wuffur 11.10.11 в 12:03 |
||
|
У ary должны быть те же dtype и size (но необязательно shape ), что и аргумента self. wuffur 11.10.11 в 12:04 |
||
|
Асинхронно передает содержимое numpy.ndarray объекта ary на устройство, опционально последовательно на поток. wuffur 11.10.11 в 12:05 |
||
|
У ary должны быть те же dtype и size (но необязательно shape), что и аргумент self. wuffur 11.10.11 в 12:05 |
||
|
Передает содержимое аргумента self в массива ary и вновь выделенной памяти numpy.ndarray. Если предоставлен массив ary, то он должен иметь правильный параметр size (но необязательно shape) и dtype. Если он не предоставлен, то блокировка по страницам определяет будет ли заблокирована по страницам память. wuffur 11.10.11 в 12:06 |
||
|
Передает содержимое аргумента self в массива ary и заново выделенный объект numpy.ndarray. Если предоставлен массив ary, то он должен иметь правильный параметр size (но необязательно shape) и dtype. Если он не предоставлен, то заблокированный по страницам массив заново разместится в памяти. wuffur 12.10.11 в 08:41 |
||
|
Возвращает результат selffac*self + otherfac*other. add_timer, если он предоставлен, то вызывается с результатом из pycuda.driver.Function.prepared_timed_call(). wuffur 12.10.11 в 08:41 |
||
