OpenGL#

pycuda.gl.make_context(dev, flags=0)#

创建并返回 pycuda.driver.Context 启用了gl互操作性。

警告

如果尚未创建并激活总账上下文,则此操作将失败,并显示一条不起作用的错误消息。

class pycuda.gl.graphics_map_flags#

使用cuda中的opengl对象。

NONE#

从CUDA代码对映射的OpenGL对象的读写访问。

READ_ONLY#

从CUDA代码只读访问映射的OpenGL对象。

WRITE_DISCARD#

从CUDA代码对映射的OpenGL对象只进行写访问。禁止阅读。

class pycuda.gl.RegisteredBuffer(bufobj, flags=CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE)#

对象管理opengl缓冲区到cuda的映射。无法用于映射图像。

gl_handle()#
unregister()#
map(stream=None)#

返回A RegisteredMapping .

class pycuda.gl.RegisteredImage(bufobj, target, flags=CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE)#

对象管理OpenGL纹理和渲染缓冲区到CUDA的映射。

目标 必须是以下之一:

  • GL_TEXTURE_2D

  • GL_TEXTURE_RECTANGLE

  • GL_TEXTURE_CUBE_MAP

  • GL_TEXTURE_3D

  • GL_TEXTURE_2D_ARRAY

  • GL_RENDERBUFFER

(见pyopengl文档)

gl_handle()#
unregister()#
map(stream=None)#

返回A RegisteredMapping .

class pycuda.gl.RegisteredMapping#
unmap(stream=None)#

如果未指定流,则取消映射将使用与原始映射相同的流。

device_ptr_and_size()#

返回元组 (dev_pointer, size) .

array(index, level)#

返回给定数组索引和mip级别的映射图像对象的数组。

自动初始化#

警告

进口 pycuda.gl.autoinit 如果尚未创建并激活总帐上下文,则将失败,并显示一条毫无帮助的错误消息。

pycuda.gl.autoinit.device#
pycuda.gl.autoinit.context#

旧式(CUDA 3.0之前)API#

pycuda.gl.autoinit.init()#

为已创建(到目前为止为非GL)且当前处于活动状态的 pycuda.driver.Context .

根据下面注释中引用的论坛帖子,这将在windows xp和linux上成功,但在windows vista上不起作用。有你 have 使用 make_context() .

警告

自CUDA 3.0和PYCUDA 2011.1以来,此函数已被弃用。

警告

如果尚未创建并激活总账上下文,则此操作将失败,并显示一条不起作用的错误消息。

备注

看到这个 post 在nvidia论坛上讨论gl interop接口的问题和解决方案。

class pycuda.gl.autoinit.BufferObject(bufobj)#

警告

自cuda 3.0和pycuda 2011.1以来,该类已被弃用。

unregister()#
handle#
map()#
class pycuda.gl.autoinit.BufferObjectMapping#

警告

自cuda 3.0和pycuda 2011.1以来,该类已被弃用。它将在Pycuda 0.96中被移除。

unmap()#
device_ptr()#
size()#