Pythonで数値計算をしようとすると情報が少なくて困っていませんか?
特に最近はHPCが一つのキーワードとして挙げられ、数値計算にGPUを使って並列計算をするのが流行っていますが、その為にはPyCUDAというGPU用のライブラリを使いこなす必要があります。
私は普段、研究開発の業務でPyCUDAを使った数値計算アルゴリズムの開発を行っています。
PyCUDAを使いこなすには、CUDA CというC言語ベースの言語の理解や
並列計算の基礎知識、GPUとCPUとの関係、GPUのメモリなど様々な事について学ぶ必要があります。
大学や企業研究所でPythonをベースにしたGPU並列計算を行いたいが、どこから始めていいのか分からないという方の相談に乗ることが出来ます。
また小規模であれば、サンプルコード作成の依頼も受けます。(内容による)
ご存じない方の為にPyCUDAについて簡単に説明しておきますと、
PyCUDAは低級なGPU用のライブラリです。CPU⇔GPU間のメモリやり取り、GPU上での四則演算など数値計算のアルゴリズムをご自身で書かれる方のためのライブラリです。PythonでのDeepLearningをはじめとしたライブラリ(TensorFlowやPyTorchなど)のGPU並列のオプションではありません。
可能な相談内容 例
・GPUってそもそも何かが分かりませんが、GPU並列やりたいです
・GPUで計算したいけど、何を準備すればいいのか?
・GPU計算のための環境構築の方法を教えてほしい
・実際のPyCUDAのコードの書き方/サンプルコードが欲しい
・テクスチャメモリ、シェアードメモリの使い方が知りたい
・Thrustライブラリの使い方が知りたい
など
取り扱いが難しい内容
・PyCUDAを使用しないTensorFlowなどのライブラリベースでのGPU並列
・Multi-GPUやレイテンシの隠ぺいなど比較的高度な内容
お気軽にご相談ください。
案件の規模や、開発に必要な環境の有無によってはお断りをさせていただくこともございますので予めご了承ください。