NVIDIA CUDA
2018.03.28 AI Robotics CUDA
CUDAは,NVIDIA製のGPUを用いて高速な並列処理を行うためのプラットフォームであり,ツールキットです。
はじめに ⇩
記事 ⇩
Forum ⇩
DEMO ⇩
DOC ⇩
GitHub ⇩
Docker ⇩
設定 ⇩
基礎 ⇩
応用 ⇩
<実用 ⇩
はじめに ⇩
ちょいメモ ⇩
用語 ⇩
はじめに
CUDAとは
CUDAとは
NVIDIAが提供するCUDAは,NVIDIA製のGPUを用いて高速な並列処理を行うためのプラットフォームであり,ツールキットで す。 ここ数年話題になっている深層学習でも基本的な技術の一つとして採用されています。 グラフィック処理の心臓部であるGPU(Graphics Processing Unit)は,その用途からシェーダーの汎用化・並列化が進ん だ結果,特定の精度の単純な計算処理であればCPUの数倍の能力を持つまでに至りました。 これは3Dゲームを主体としたCGのレンダリングに使われるべく進化したのですが,せっかくの計算能力をゲームだけに使 うのはもったいないとして生まれたのが「GPGPU(General-Purpose computing on Graphics Pocessing Units)」という 考え方です。 ただしグラフィックス向けのAPIを使って汎用的な計算をさせるとなると,そのプログラミングには幅広い知識が必要です。 NVIDIAはC/C++のような「普通の」言語でGPUを操作できる開発環境である「CUDA」を提供することで,GPGPU向け開発のハ ードルを一気に下げたのです。
ちょいメモ
CUDAを使うのであればCUDAに対応したGPUが必要です。 今から入手するのであれば,Maxwellアーキテクチャーを搭載したGPUのうち値段が下がっているものか, Pascalアーキテクチャーを搭載したGPUになるでしょう。
用語
Foram
** ⇩
DEMO
DOC
CUDA Quick Start GuideDOC ⇩
NVIDIA CUDA Installation Guide for LinuxDOC ⇩
CUDA Quick Start Guide
Introduction
Introduction
このガイドでは、CUDAをインストールし、サポートされている各プラットフォームでCUDAアプリケーションを実行できるこ とを確認するために必要な基本的な手順について説明します。 これらの指示は、サポートされているプラットフォームのクリーンインストールで使用することを意図しています。 このドキュメントで解明されていない質問については、「Windowsインストールガイド」、「Macインストールガイド」、お よび「Linuxインストールガイド」を参照してください。 CUDAインストールパッケージは、CUDAダウンロードページにあります。 詳細については、http://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#ixzz4vvY6QLDGをご覧ください。Linux Ubuntu
UbuntuにCUDAをインストールするときは、Runfile InstallerとDebian Installerのどちらかを選択できます。 ランファイルインストーラは、ローカルインストーラとしてのみ使用できます。 Debianインストーラは、ローカルインストーラとネットワークインストーラの両方として入手できます。 ネットワークインストーラを使用すると、必要なファイルのみをダウンロードできます。 ローカルインストーラは、初期ダウンロードが大規模なスタンドアロンインストーラです。 Debianインストーラの場合、ローカルとネットワークの亜種の指示は同じです。 詳細については、「Linuxインストールガイド」を参照してください。 詳細はhttp://docs.nvidia.com/cuda/cuda-quick-start-guide/index.html#ixzz4vvaZh59oをご覧ください。
NVIDIA CUDA Installation Guide for Linux
CUDA®は、NVIDIAによって開発された並列コンピューティングプラットフォームおよびプログラミングモデルです。 これは、グラフィック処理ユニット(GPU)の能力を活用することにより、コンピューティング性能を飛躍的に向上させま す。 CUDAはいくつかの設計目標を念頭に置いて開発されました。 並列アルゴリズムの直接的な実装を可能にする、Cのような標準的なプログラミング言語の拡張を提供します。 プログラマは、CUDA C / C + +を使用して、実装に時間を費やすのではなく、アルゴリズムの並列化に専念することができ ます。 アプリケーションがCPUとGPUの両方を使用する異種計算をサポートします。 アプリケーションのシリアル部分はCPU上で実行され、並列部分はGPUにオフロードされます。 このように、CUDAは既存アプリケーションに段階的に適用できます。 CPUとGPUは、独自のメモリ空間を持つ別々のデバイス として扱われます。 この構成により、メモリリソースの競合を起こさずにCPUとGPUを同時に計算することもできます。 CUDA対応GPUには、何千ものコンピューティングスレッドをまとめて実行できる数百のコアがあります。 これらのコアは、レジスタファイルおよび共有メモリを含む共有リソースを有する。 オンチップの共有メモリにより、これらのコア上で動作する並列タスクは、システムメモリバスを介さずにデータを共有す ることができます。 このガイドでは、CUDA開発ツールの正しい動作をインストールし、チェックする方法を説明します。 詳しくは、http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ixzz4vvgku9PBを参照してくださ い。システム要求
システムでCUDAを使用するには、次のものがインストールされている必要があります。 CUDA対応GPUこのドキュメントについてgccコンパイラとツールチェーンを備えたLinuxのサポートされているバージョン NVIDIA CUDAツールキット(http://developer.nvidia.com/cuda-downloadsから入手可能) CUDA開発環境は、ホストコンパイラおよびCランタイムライブラリを含むホスト開発環境との緊密な統合に依存し ているため、このCUDAツールキットのリリースに適合した配布バージョンでのみサポートされています。詳細はhttp://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ixzz4vvi3BL8Iをご覧ください。 Native Linux Distribution Support in CUDA 9.0 x86_64Distribution Kernel GCC GLIBC ICC PGI XLC CLANG Ubuntu 17.04 4.9.0 6.3.0 2.24-3 17.0 17.1 NO 3.9 Ubuntu 16.04 4.4 5.3.1 2.23 17.0 17.1 NO 3.9
この文書は、Linux環境に精通した読者と、コマンドラインからCプログラムをコンパイルすることを目的としています。 CUDAの以前の経験や並列計算の経験は必要ありません。 注:このガイドは、X Windowsがインストールされているシステムでのみインストールを扱います。 注:この文書の多くのコマンドには、スーパーユーザー権限が必要な場合があります。 Linuxのほとんどのディストリビューションでは、rootとしてログインする必要があります。 sudoパッケージを有効にしたシステムでは、必要なすべてのコマンドにsudo接頭辞を使用します。 詳しくはhttp://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#ixzz4vvkhOd24をご覧ください。
GitHub
Docker
設定
基礎
応用
実用