4. CUDALink の使用方法¶
4.1. CUDALink について¶
Warning
現在mathematica/13.1.0でのみCUDALinkの動作を確認しております。
CUDALink を用いることで、Mathematicaにて GPU を利用できるようになります。
CUDALinkについての詳細な内容は、Mathematicaドキュメントセンターの以下のページをご参照ください。
CUDALink ユーザガイド
CUDALink
GPU計算
4.2. CUDALinkの読み込みと動作確認¶
GSICUSER@r0i0n0:~> module load cuda mathematica/13.1.0
GSICUSER@r0i0n0:~> math
Mathematica 11.2.0 Kernel for Linux x86 (64-bit)
Copyright 1988-2017 Wolfram Research, Inc.
In[1]:= Needs["CUDALink`"]
In[2]:= CUDAQ[]
Out[2]= True
In[3]:= CUDADot[Table[i, {i, 10}, {j, 10}],Table[i, {i, 10}, {j, 10}]]
Out[3]= {{55, 55, 55, 55, 55, 55, 55, 55, 55, 55}, {110, 110, 110, 110, 110, 110, 110, 110, 110, 110},
> {165, 165, 165, 165, 165, 165, 165, 165, 165, 165}, {220, 220, 220, 220, 220, 220, 220, 220, 220, 220},
> {275, 275, 275, 275, 275, 275, 275, 275, 275, 275}, {330, 330, 330, 330, 330, 330, 330, 330, 330, 330},
> {385, 385, 385, 385, 385, 385, 385, 385, 385, 385}, {440, 440, 440, 440, 440, 440, 440, 440, 440, 440},
> {495, 495, 495, 495, 495, 495, 495, 495, 495, 495}, {550, 550, 550, 550, 550, 550, 550, 550, 550, 550}}
In[4]:= lst = RandomReal[1., {10}];
In[5]:= CUDAFourier[lst]
Out[5]= {2.00511 + 0. I, 0.170165 + 0.153382 I, 0.313523 + 0.0756414 I, -0.0606903 + 0.209749 I, 0.178923 - 0.522008 I,
> -0.200097 + 0. I, 0.178923 + 0.522008 I, -0.0606903 - 0.209749 I, 0.313523 - 0.0756414 I, 0.170165 - 0.153382 I}
In[6]:= Fourier[lst]
Out[6]= {2.00511 + 0. I, 0.170165 + 0.153382 I, 0.313523 + 0.0756414 I, -0.0606903 + 0.209749 I, 0.178923 - 0.522008 I,
> -0.200097 + 0. I, 0.178923 + 0.522008 I, -0.0606903 - 0.209749 I, 0.313523 - 0.0756414 I, 0.170165 - 0.153382 I}