GPUArray[array]
GPU加速計算がアクセス可能なメモリに格納された配列を与える.
GPUArray
GPUArray[array]
GPU加速計算がアクセス可能なメモリに格納された配列を与える.
詳細
- GPUArrayは,グラフィックスプロセッサユニット(GPU)がアクセス可能なデータの格納と処理にとって効率的な表現を与える.
- GPUArrayは,通常,GPUで計算を行うことで関数実行を高速化するために使われる.
- GPUArray[array]は,GPUメモリまたは統合メモリ内に配列を作成する.
- array は,次の形式でよい.
-
{e1,…},{{e1,…},…},… 数値要素の完全配列 NumericArray[…] 指定の型の数値配列 - Normal[GPUArray[array]]は,GPUArrayオブジェクトを値の通常のリストに変換する.
- 追加的な変換には以下が含まれる.
-
SparseArray[GPUArray[…]] 少数の非零要素を含む疎な配列 NumericArray[GPUArray[…],type] 指定の型の数値配列 - GPUArrayについてのInformationには以下の特性が含まれる.
-
"ElementType" 要素のネイティブ型 "Dimensions" 次元のリスト - LinearSolve,Plus,Part等の関数は,GPU計算を実行することでGPUArrayに作用する.
- GPUArrayは,AtomQのような関数によって,またパターンマッチングの目的では,生のオブジェクトとして扱われる.
例題
すべて開く すべて閉じる例 (1)
ベクトルからGPUArrayオブジェクトを作成する:
ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}]Cos[ga]Normal[%]スコープ (27)
基本的な用法 (4)
ベクトルからGPUArrayオブジェクトを作成する:
GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}]GPUArray[{{0., 0.5}, {1., 1.5}, {2., 2.5}, {3., 3.5}}]NumericArrayを使って指定の型のGPUArrayオブジェクトを作成する:
GPUArray[NumericArray[RandomReal[1, 20], "Real32"]]GPUArray[NumericArray[RandomInteger[10, 20], "Integer64"]]GPUArrayオブジェクトを通常の値のリストに変換する:
ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}]Normal[ga]NumericArrayオブジェクトに変換する:
NumericArray[ga, "Real32"]SparseArrayに変換する:
SparseArray[ga]GPUArrayオブジェクトの情報を得る:
ga = GPUArray[{{0., 0.5}, {1., 1.5}, {2., 2.5}, {3., 3.5}}]ga["Dimensions"]ga["ElementType"]配列演算 (3)
GPUArrayオブジェクトがベクトルかどうかテストする:
GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}]VectorQ[%]GPUArray[{{0., 0.5}, {1., 1.5}, {2., 2.5}, {3., 3.5}}]MatrixQ[%]GPUArrayオブジェクトの一部を抽出する:
ga = GPUArray[{{0., 0.5}, {1., 1.5}, {2., 2.5}, {3., 3.5}}]Part[ga, 2]Part[ga, 1, 2]GPUArrayオブジェクトの特性を得る:
ga = GPUArray[{{0., 0.5}, {1., 1.5}, {2., 2.5}, {3., 3.5}}]Dimensions[ga]ArrayDepth[ga]ByteCount[ga]数学演算 (6)
GPUArrayオブジェクトに算術演算を適用する:
ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];
gb = GPUArray[{1., 1.5, 1.1, 2.5, 2.3, 3.5, 4., 4.5}];ga + gbga * gbga ^ 2ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Sin[ga]Cos[ga]ArcCos[ga]ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Exp[ga]Log[ga]ga ^ 2ga = GPUArray[{5., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Sinh[ga]Cosh[ga]ArcCosh[ga]ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Ceiling[ga]Floor[ga]Round[ga]ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Abs[ga]Sign[ga]RealAbs[ga]フーリエ解析 (2)
統計 (3)
GPUArrayオブジェクトに対して統計関数を評価する:
ga = GPUArray[{0.4, 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Mean[ga]GeometricMean[ga]Variance[ga]StandardDeviation[ga]Skewness[ga]GPUArrayオブジェクトの最小値:
ga = GPUArray[{0.4, 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Min[ga]Max[ga]MinMax[ga]GPUArrayオブジェクトをソートする:
ga = GPUArray[{0.4, 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];Sort[ga]線形代数 (4)
GPUArrayオブジェクトに行列演算を適用する:
ga = GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}];
gb = GPUArray[{1., 1.5, 1.1, 2.5, 2.3, 3.5, 4., 4.5}];ga.gbTranspose[ga]Tr[ga]gm = GPUArray[{{0., 0.5, 1.}, {1.5, 2., 2.5}, {3., 3.5, 4.}}];gb = GPUArray[{0.5, 1., 1.5}];LinearSolve[gm, gb]gm = GPUArray[{{0., 0.5}, {1., 1.5}}];gb = GPUArray[{{2., 2.5}, {3., 3.5}}];LinearSolve[gm, gb]gm = GPUArray[{{0., 0.5, 1.}, {1.5, 2., 2.5}, {3., 3.5, 4.}, {4.5, 5., 5.5}}];
gbv = GPUArray[{0.5, 1., 1.5, 2.}];
LeastSquares[gm, gbv]gbm = GPUArray[{{0.5, 1.}, {1.5, 2.}, {2.5, 3.}, {3.5, 4}}];
LeastSquares[gm, gbm]m = GPUArray[NumericArray[RandomComplex[1 + I, {3, 3}], "ComplexReal32"]];{u, σ, v} = SingularValueDecomposition[m]Chop[m - u.σ.v, 10^-6] == SymbolicZerosArray[Dimensions[m]]//Normal乱数生成 (2)
SeedRandom[Method -> "GPU"]RandomReal[1, 5]RandomInteger[10, 5]RandomComplex[1 + I, 5]SeedRandom[123, Method -> "GPU"];RandomReal[1, 5]可視化 (3)
GPUArray[RandomVariate[NormalDistribution[0, 1], 200]]ListPlot[%]ArrayPlot[GPUArray[RandomReal[1, {10, 10}]]]MatrixPlot[GPUArray[RandomReal[1, {10, 10}]]]特性と関係 (4)
GPUArrayQを使ってあるオブジェクトが有効なGPUArrayオブジェクトかどうかをテストする:
GPUArray[{0., 0.5, 1., 1.5, 2., 2.5, 3., 3.5}]GPUArrayQ[%]GPUArrayオブジェクトの格納に使われたバイト数を求める:
GPUArray[RandomReal[1, 10 ^ 3]]ByteCount[%]Normalを使ってGPUからデータを取り出す:
GPUArray[{1, 2, 3, 4, 5, 6, 7}]Normal[%]GPUArrayはNumericArrayオブジェクト内の要素の表現型を保つ:
NumericArray[RandomReal[1, 20], "Real32"]GPUArray[%]%["ElementType"]考えられる問題 (2)
サポートされるGPUが検出されない場合,GPUArrayは自動的に評価される:
GPUArray[{1, 2, 3, 4, 5}]GPUアクセラレーションのサポートがない操作はCPU実装にフォールバックする:
ga = GPUArray[RandomReal[1, 6]];Csch[ga]関連するガイド
-
▪
- GPU計算 ▪
- NVIDIAを使ったGPU計算 ▪
- Appleを使ったGPU計算 ▪
- GPUプログラミング
テキスト
Wolfram Research (2025), GPUArray, Wolfram言語関数, https://reference.wolfram.com/language/ref/GPUArray.html.
CMS
Wolfram Language. 2025. "GPUArray." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/GPUArray.html.
APA
Wolfram Language. (2025). GPUArray. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GPUArray.html
BibTeX
@misc{reference.wolfram_2026_gpuarray, author="Wolfram Research", title="{GPUArray}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/GPUArray.html}", note=[Accessed: 04-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_gpuarray, organization={Wolfram Research}, title={GPUArray}, year={2025}, url={https://reference.wolfram.com/language/ref/GPUArray.html}, note=[Accessed: 04-November-2026]}