General-Purpose computation on GPUs*1の略称。GPUを使用して汎用の数値計算を行うこと。 GPU(Graphics Processing Unit)は高い並列計算能力を持つため、この能力をグラフィック描画のみならず汎用の数値計算にも利用しよう、というのがコンセプト。
cf. CUDA、OpenCL
*1:あるいは単に、General Purpose GPU
この記事は グラフィックス全般 Advent Calendar 2024 の 16 日目の記事となります。 はじめに WebGPU が昨年 5 月に Chrome 113 で利用可能になり、それから 1 年半ほどが経ちました。 まだ FireFox や Safari など利用できない環境もありますが、これから普及も進んでいくと思いますし、WebGPU に興味や期待を寄せている方も多いのではないでしょうか。 今回は GPGPU の勉強のために取り組んだ WebGPU によるハッシュの実装の話をしようと思います。 寒い時期なので GPU の熱で暖をとりたい方におすすめの内容です。 デモで使用したコ…
【ニュース】■2023年◇2023年1月 ◆画像生成AI「Stable Diffusion」を最速で実行できるGPUはどれなのか? (Gigazine, 2023/01/26 20:00) https://gigazine.net/news/20230126-stable-diffusion-gpu-benchmarks/ ⇒ https://tt-ai.hatenablog.com/entry/2023/01/26/000000 ◇2023年4月 ◆「AI研究の6カ月停止」を要請したイーロン・マスク、自分は1万個のGPUを買い込み独自のAIプロジェクトを進めていることが判明 (Gigazin…
Excel(エクセル)ファイルのパスワードを忘れたと同僚が困っていたので、パスワードを解読(解除)してあげました。以下手順をメモします ツールのインストール 有料のツールもありますが、無料で利用できる John The Ripper を使いました。github からコードが入手できます $ git clone https://github.com/magnumripper/JohnTheRipper.git ビルドします $ cd src $ ./configure $ make -j8 SDKを入れておけばCUDAやOpenCLも自動で有効になり、GPGPUを使った解析までやってくれるようで…
GPUをGPGPU(汎用計算)目的で操作する方法は、CUDAとOpenCLが有名です。 ただし、CUDAはNvidiaのGPUでしか使えませんし、OpenCLはGPU専用ではないのでとっつきにくいです。というわけでNvidiaのGPUがあるなら最初はCUDAをオススメします。どちらも、C言語をベースにした言語でプログラミングします。 CUDA CUDA言語は、C言語の拡張で、CUDA ToolKitに含まれるnvccコンパイラを用いてコンパイルします。 __device__ __host__ float2 operator+(float2 a, float2 b) { return make_…
【ニュース】■2012年 ◆WindowsのパスワードはGPUを25個使えば約6分から6時間で突破が可能、毎秒3500億通りもの総当たりが可能な方法とは? (Gigazine, 2012/12/11 15:26) http://gigazine.net/news/20121211-gpu-brute-force-attack/ ⇒ https://malware-log.hatenablog.com/entry/2012/12/11/000000_2 ■2014年 ◆NVIDIA、PC向けと同じアーキテクチャのGPUを備えたモバイル向けプロセッサ「Tegra K1」を発表 (Slashdot,…
この記事はKMCアドベントカレンダー2021の4日目の記事です。 adventar.org 概要 元ネタ:『フカシギの数え方』 www.youtube.com 問題としてはN×Nマスのグリッド(頂点としては 頂点)を左上から右下まで移動する経路であって、同じところを二度通らないものの数を数える、というものになっています。 『フカシギの数え方』でお姉さんが数え上げていた問題を、実際に全探索で解いてみて、組合せ爆発の凄さを体感しつつ、GPGPUで頑張って高速化してみます。 CPUで全探索 これを全探索で解くためには、これまでに通った場所を覚えておいて、そこを通らないようにしつつ、右下の頂点までたど…
CUDAでの最適化オプションについて理解できていなかったので、防備録としてまとめます。 nvccコマンドのオプションはNVIDIA社のサイトNVCC :: CUDA Toolkit Documentation に記載されています。 これによると、nvccコマンドにもOオプションがありますね。 CやC++などをコンパイルするときはコンパイラに最適化してもらうためにOオプションでコンパイルすると全て良しなにしてくれることが多いです。 なのでCUDAでも何も考えずにOオプションを付ければ最適化はいい感じにしてくれそうな気が一見します。 ただ、ドキュメントを読んでみるとちょっと不穏な空気になります。な…