メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

MATLAB コードからのカーネルの作成

R2026a
CUDA® GPU カーネルを作成する MATLAB コードの構造とパターン

GPU Coder™ は、MATLAB® コードの特定のアルゴリズム構造およびパターンについての最適化 CUDA カーネルを生成して実行します。生成コードでは、cuFFT、cuSolver、cuBLAS、cuDNN、TensorRT など、最適化された NVIDIA® CUDA ライブラリが呼び出されます。生成コードは、ソース コード、スタティック ライブラリ、またはダイナミック ライブラリとしてプロジェクトに統合でき、デスクトップ用、サーバー用、および NVIDIA Jetson、DRIVE、その他のプラットフォームに組み込まれた GPU 用にコードをコンパイルできます。GPU Coder を使用すると、アルゴリズムや生成コードに手書きの CUDA コードを組み込むこともできます。

アプリ

すべて展開する

GPU CoderMATLAB コードからの CUDA コードの生成
GPU 環境のチェックGPU コード生成環境の検証と設定

関数

すべて展開する

coder.gpuConfigGPU Coder を使用した MATLAB コードからの CUDA コード生成用の構成パラメーター
codegenMATLAB コードから C または C++ コードを生成する
gpucoderGPU Coder アプリを開く
coder.checkGpuInstallGPU コード生成環境の検証
coder.gpu.kernelfor ループを GPU カーネルにマッピングするプラグマ
coder.gpu.kernelfun関数を GPU カーネルにマッピングするプラグマ
coder.gpu.nokernelループのカーネル作成を無効にするプラグマ
coder.ceval生成コードから C/C++ 関数を呼び出す
coder.gpu.iterations変数範囲ループの並列化を判定するための情報をコード ジェネレーターに提供するプラグマ
coder.gpu.constantMemory変数を GPU の定数メモリにマッピングするプラグマ
coder.gpu.persistentMemory変数を GPU の永続メモリとして割り当てるためのプラグマ
cudaMemoryManagerQuery memory usage by shared GPU memory manager for MEX functions (R2024a 以降)
gpucoder.atomicAdd指定された値のグローバル メモリまたは共有メモリの変数へのアトミックな加算
gpucoder.atomicAnd指定された値とグローバル メモリまたは共有メモリの変数の間でのビット単位 AND のアトミックな実行
gpucoder.atomicCASグローバル メモリまたは共有メモリの変数の値のアトミックな比較交換
gpucoder.atomicDec指定された上限内でのグローバル メモリまたは共有メモリの変数のアトミックなデクリメント
gpucoder.atomicExch指定された値とグローバル メモリまたは共有メモリの変数のアトミックな交換
gpucoder.atomicInc指定された上限内でのグローバル メモリまたは共有メモリの変数のアトミックなインクリメント
gpucoder.atomicMax指定された値とグローバル メモリまたは共有メモリの変数の間での最大値のアトミックな検索
gpucoder.atomicMin指定された値とグローバル メモリまたは共有メモリの変数の間での最小値のアトミックな検索
gpucoder.atomicOr指定された値とグローバル メモリまたは共有メモリの変数の間でのビット単位 OR のアトミックな実行
gpucoder.atomicSub指定された値のグローバル メモリまたは共有メモリの変数からのアトミックな減算
gpucoder.atomicXor指定された値とグローバル メモリまたは共有メモリの変数の間でのビット単位 XOR のアトミックな実行
half半精度数値オブジェクトの作成
stencilfunステンシル関数の CUDA コードの生成 (R2022b 以降)
selectdataGenerate GPU code for selection of slices from arrays (R2025a 以降)
gpucoder.matrixMatrixKernel行列-行列演算を含む関数の最適化された GPU 実装
gpucoder.batchedMatrixMultiplyバッチ行列乗算演算の最適化された GPU 実装
gpucoder.stridedMatrixMultiplyストライド バッチ行列乗算演算の最適化された GPU 実装
gpucoder.batchedMatrixMultiplyAdd加算を伴うバッチ行列乗算演算の最適化された GPU 実装
gpucoder.stridedMatrixMultiplyAdd加算を伴うストライド バッチ行列乗算演算の最適化された GPU 実装
gpucoder.sortMATLAB 関数 sort の最適化された GPU 実装
gpucoder.ctransposeMATLAB 関数 transpose の最適化された GPU 実装
gpucoder.transposeMATLAB 関数 transpose の最適化された GPU 実装
gpucoder.reduceリダクション演算に最適化された GPU 実装

コード構成設定

すべて展開する

GPU コードの生成Control GPU code generation
GPU デバイス IDCUDA device selection
最低 Compute CapabilityMinimum CUDA compute capability for code generation
カスタム Compute Capability仮想 GPU アーキテクチャ
Malloc モードGPU memory allocation
スタック制限Stack limit per GPU thread
カーネルあたりの最大ブロック数カーネルの起動中に作成されるブロックの最大数
セーフ ビルドError checking in the generated code
カーネル名の接頭辞カスタムのカーネル名の接頭辞
コンパイラ フラグPass additional flags to GPU compiler
cuBLAS の有効化Replace math function calls with cuBLAS library calls
cuSOLVER の有効化Replace math function calls with cuSOLVER library calls
cuFFT の有効化Replace fft function calls with cuFFT library calls
GPU メモリ マネージャーを有効にするGPU メモリ マネージャーの使用

オブジェクト

すべて展開する

coder.GpuCodeConfigMATLAB コードから CUDA コードを生成するための構成パラメーター
coder.MexCodeConfigMATLAB からの MEX 関数生成用構成パラメーター
coder.CodeConfigMATLAB コードから C/C++ コードを生成するための構成パラメーター
coder.EmbeddedCodeConfigEmbedded Coder で MATLAB コードから C/C++ コードを生成するための構成パラメーター
coder.gpuEnvConfigGPU コード生成環境をチェックするための構成オブジェクト

トピック

注目の例