CUDALink`
CUDALink`

CUDAMemoryAllocate

CUDAMemoryAllocate[type,dim]

指定の型の一次元CUDAMemoryを与える.

CUDAMemoryAllocate[type,{dim1,dim2,}]

指定の型と次元のCUDAMemoryを与える.

詳細とオプション

  • CUDALink パッケージがNeeds["CUDALink`"]でロードされていなければならない.
  • CUDAMemoryAllocateに使える型:
  • IntegerRealComplex
    "Byte""Bit16""Integer32"
    "Byte[2]""Bit16[2]""Integer32[2]"
    "Byte[3]""Bit16[3]""Integer32[3]"
    "Byte[4]""Bit16[4]""Integer32[4]"
    "UnsignedByte""UnsignedBit16""UnsignedInteger"
    "UnsignedByte[2]""UnsignedBit16[2]""UnsignedInteger[2]"
    "UnsignedByte[3]""UnsignedBit16[3]""UnsignedInteger[3]"
    "UnsignedByte[4]""UnsignedBit16[4]""UnsignedInteger[4]"
    "Double""Float""Integer64"
    "Double[2]""Float[2]""Integer64[2]"
    "Double[3]""Float[3]""Integer64[3]"
    "Double[4]""Float[4]""Integer64[4]"
  • 以下のオプションが与えられる:
  • "Device"$CUDADeviceCUDA計算に使われるデバイス
    "TargetPrecision"Automatic計算に使用する精度

例題

すべて開くすべて閉じる

  (4)

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

各次元が10である階数3のテンソルを割り当てる:

CUDAMemoryInformationを使うとメモリについての情報が取り出せる:

メモリをアンロードする:

単一次元については,長さには整数が使える:

CUDAMemoryLoadと関連付ける.異なる型がサポートされる:

RealあるいはComplexとしてメモリを加えると,デバイスが倍精度をサポートしているかどうかに基づいた型が返される:

この場合,CUDAデバイスは倍精度をサポートしている:

"TargetPrecision"を設定すると,動作の変更を強制することができる:

アプリケーション  (1)

リストの全要素を0に設定する:

必要なメモリを割り当てる:

関数をロードする:

関数を実行する:

メモリについての情報を示す."DeviceStatus""Synchronized"である:

メモリをGPUから取得する:

メモリについての情報を示す."DeviceStatus""HostStatus""Synchronized"である:

考えられる問題  (1)

設定されていない割り当てられたメモリをGPUからメモリを取り出すと,ランダムな結果が返される:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_cudamemoryallocate, organization={Wolfram Research}, title={CUDAMemoryAllocate}, year={2010}, url={https://reference.wolfram.com/language/CUDALink/ref/CUDAMemoryAllocate.html}, note=[Accessed: 22-November-2024 ]}