OpenCLLink`
OpenCLLink`

OpenCLMemoryLoad

OpenCLMemoryLoad[list]

loads list into OpenCLMemory manager, returning an OpenCLMemory.

OpenCLMemoryLoad[list,type]

loads list with specified type into OpenCLMemory manager, returning an OpenCLMemory.

更多信息和选项更多信息
  • The OpenCLLink application must be loaded using Needs["OpenCLLink`"].
  • Valid OpenCLMemoryLoad types are:
  • IntegerRealComplex
    "Byte""Bit16""Integer"
    "Byte[2]""Bit16[2]""Integer32[2]"
    "Byte[4]""Bit16[4]""Integer32[4]"
    "Byte[8]""Bit16[8]""Integer32[8]"
    "Byte[16]""Bit16[16]""Integer32[16]"
    "UnsignedByte""UnsignedBit16""Float"
    "UnsignedByte[2]""UnsignedBit16[2]""Float[2]"
    "UnsignedByte[4]""UnsignedBit16[4]""Float[4]"
    "UnsignedByte[8]""UnsignedBit16[8]""Float[8]"
    "UnsignedByte[16]""UnsignedBit16[16]""Float[16]"
    "Double""Double[2]""Double[4]"
    "Double[8]""Double[16]"
  • OpenCLMemory can be queried using OpenCLMemoryInformation.
  • OpenCLMemory is retrieved using OpenCLMemoryGet.
  • OpenCLMemory is unloaded using OpenCLMemoryUnload.
  • OpenCLMemoryAllocate is used when memory needs to be allocated to be written to, such as output memory.
  • The following options can be given:
  • "Device"AutomaticOpenCL device used in computation
    "Platform"AutomaticOpenCL platform used in computation
    "TargetPrecision"Automaticprecision used in computation
  • 范例

    打开所有单元关闭所有单元

    基本范例  (5)

    First, load the OpenCLLink application:

    In[1]:=
    Click for copyable input

    This registers the list ConstantArray[0,10] into the OpenCLLink memory manager:

    In[2]:=
    Click for copyable input
    Out[2]=

    Vector types can be loaded, but they must obey the width requirement of the type ("Byte[16]" has a width of 16, for example):

    In[1]:=
    Click for copyable input
    Out[1]=
    In[2]:=
    Click for copyable input
    Out[2]=

    An error is returned otherwise:

    In[3]:=
    Click for copyable input
    Out[3]=

    Images can be loaded as OpenCLMemory:

    In[1]:=
    Click for copyable input
    Out[1]=

    By default, images are represented as a list of integers; different types can be used, however:

    In[2]:=
    Click for copyable input
    Out[2]=

    When adding graphics objects, the object is rasterized:

    In[1]:=
    Click for copyable input
    Out[1]=

    When getting the memory, an image is returned:

    In[2]:=
    Click for copyable input
    Out[2]=

    When using the type Real, whether it is a "Float" or "Double" is based on the OpenCL device:

    In[1]:=
    Click for copyable input
    Out[1]=

    In this case, the system supports double precision. This can be overridden using the "TargetPrecision" option:

    In[2]:=
    Click for copyable input
    Out[2]=

    Options  (3)

    Applications  (2)

    参见

    OpenCLMemory  OpenCLMemoryAllocate  OpenCLMemoryInformation  OpenCLMemoryUnload

    教程