OpenCLLink`
OpenCLLink`

OpenCLMemoryLoad

OpenCLMemoryLoad[list]

listOpenCLMemoryマネージャにロードし,OpenCLMemoryを返す.

OpenCLMemoryLoad[list,type]

特定の type を持つ listOpenCLMemoryマネージャにロードし,OpenCLMemoryを返す.

詳細とオプション

  • OpenCLLink アプリケーションは,Needs["OpenCLLink`"]を使ってロードしなければならない.
  • 有効なOpenCLMemoryLoadの型:
  • 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""UnsignedInteger"
    "UnsignedByte[2]""UnsignedBit16[2]""UnsignedInteger[2]"
    "UnsignedByte[4]""UnsignedBit16[4]""UnsignedInteger[4]"
    "UnsignedByte[8]""UnsignedBit16[8]""UnsignedInteger[8]"
    "UnsignedByte[16]""UnsignedBit16[16]""UnsignedInteger[16]"
    "Double""Float""Integer64"
    "Double[2]""Float[2]""Integer64[2]"
    "Double[4]""Float[4]""Integer64[4]"
    "Double[8]""Float[8]""Integer64[8]"
    "Double[16]""Float[16]""Integer64[16]"
  • OpenCLMemoryは,OpenCLMemoryInformationを使って問合せを行うことができる.
  • OpenCLMemoryは,OpenCLMemoryGetを使って取り込まれる.
  • OpenCLMemoryは,OpenCLMemoryUnloadを使ってアンロードされる.
  • OpenCLMemoryAllocateは,メモリが出力メモリ等に書き込まれるために割り当てられなければならない場合に使用される.
  • 使用できるオプション:
  • "Device" Automatic計算に使用するOpenCLデバイス
    "Platform" Automatic計算に使用するOpenCLプラットフォーム
    "TargetPrecision" Automatic計算で使用する精度

例題

すべて開くすべて閉じる

  (5)

まず OpenCLLink アプリケーションをロードする:

リストConstantArray[0,10]OpenCLLink メモリマネージャに登録する:

ベクトルの型はロードすることができるが,型の幅の必要条件(例えば,"Byte16"の幅は16である)に従わなければならない:

さもなければ,エラーが返される:

画像をOpenCLMemoryとしてロードすることができる:

デフォルトで,画像は整数のリストとして表されるが,別の型を使うこともできる:

グラフィックスオブジェクトを追加する際には,オブジェクトはラスタライズされる:

メモリを得ようとすると,画像が返される:

Realを使う場合,"Float""Double"のどちらであるかは,OpenCLデバイスによる:

この場合は,システムが倍精度をサポートする.これは"TargetPrecision"オプションを使って無効にすることができる:

オプション  (3)

"Device"  (1)

計算に使用するデバイスは選ぶことができるが,一旦別のOpenCLの呼出しで設定されると,これを変更することはできない:

"Platform"  (1)

計算に使用するプラットフォームは選ぶことができるが,一旦別のOpenCLの呼出しで設定されると,これを変更することはできない:

"TargetPrecision"  (1)

目標精度を使って OpenCLLinkRealの型をどのように解釈するかを伝えることができる.デフォルトでこれは,システムが倍精度をサポートするかどうかを検知することによって決定される:

このシステムは倍精度をサポートする:

Realの型は"Double"として解釈される."Float"の使用を強制するためには, "TargetPrecision""Single"に設定する:

アプリケーション  (2)

2つを入力リストに加える:

OpenCLFunctionLoadを使って関数をロードする:

OpenCLFunctionを実行する:

OpenCLMemoryGetを使ってメモリを得る:

OpenCLMemoryUnloadを使ってメモリをアンロードする:

OpenCLMemoryLoadは,見えないところでメモリをロードするのに内部的に使われる.入力画像の色を無効にする:

OpenCLFunctionLoadを使って関数をロードする:

入力パラメータを定義する:

OpenCLFunctionを実行する:

Wolfram Research (2010), OpenCLMemoryLoad, Wolfram言語関数, https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html.

テキスト

Wolfram Research (2010), OpenCLMemoryLoad, Wolfram言語関数, https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html.

CMS

Wolfram Language. 2010. "OpenCLMemoryLoad." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html.

APA

Wolfram Language. (2010). OpenCLMemoryLoad. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html

BibTeX

@misc{reference.wolfram_2024_openclmemoryload, author="Wolfram Research", title="{OpenCLMemoryLoad}", year="2010", howpublished="\url{https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html}", note=[Accessed: 18-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_openclmemoryload, organization={Wolfram Research}, title={OpenCLMemoryLoad}, year={2010}, url={https://reference.wolfram.com/language/OpenCLLink/ref/OpenCLMemoryLoad.html}, note=[Accessed: 18-November-2024 ]}