プログラミング言語JuliaによるGPUプログラミングを可能にするJuliaGPUの開発チームは、JuliaからCUDAを使えるようにするためのパッケージCUDA.jlの最新版「CUDA.jl 3.3」を、6月10日(現地時間)にリリースした。
「CUDA.jl 3.3」では、CuArray GPU配列型でもisbits Unionsによる最適化がサポートされるようになり、isbits Unions要素タイプを使用してCuArrayを安全に割り当て、GPUで高速化された操作を実行できるようになっている。また、デバッグおよび位置情報の発行が可能になった。
同バージョンは、「CUDA 11.3」および「CUDA 11.3 Update 1」と互換性があり、CUDA.jlがサポートされている最新バージョンのCUDAを自動でダウンロードするため、ユーザーが使用するCUDA.jlに合わせてCUDAのバージョンを変更する必要はない。
なお、CUDA.jlで最新バージョンのCUDAを使用するには、十分に新しいバージョンのNVIDIAドライバが必要であり、「CUDA 11.3」では「CUDA 11.0」までしかサポートしていないNVIDIAドライバでも使用できる。また、CUDA.jlは互換性のあるCUDAを選択する際にセマンティックバージョニングに従うようになっており、Juliaで最新バージョンのCUDAを簡単に使用可能になっている。
そのほか、CUDAではカーネルを起動するコストを克服すべく、基礎となる操作よりも少ないオーバーヘッドで計算グラフを実行できるが、CUDA.jlではこれらのグラフを記録および実行するためのAPIへの簡単なアクセスが提供される。また、@atomicにおける乗算と除算のサポートや、いくつかの統計関数の実装といった機能追加や修正も行われている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です