2023-07-17

「DCON2024 【最新】第5回全国高等専門学校ディープラーニングコンテスト公式」

AIの一種、深層学習(ディープラーニング)とハードウェアによるものづくりによるビジネス創出をテーマとした高専生向けコンテスト、高専DCONがNHKにてテレビ放送されました「世界を変える!AI起業家をめざせ 〜全国高専ディープラーニングコンテスト〜 - NHK」(NHKプラスで視聴可能


昨年メンター担当した、長岡高専生の勇姿!(参考、DCON2023、長岡高専チームの密着舞台裏をDCONオープンデータとChatGPTによるAIコメントの作り方


実際の工場での実験にも成功!いいね!


一昨年メンター担当した、大島商船高専生も登場!(参考、VC5人が本気で質疑、司会にヒャダインさん&こじるりさん、高専DCON2022全チームの動画リンクとオープンデータ


「ものづくりとAIを組み合わせて両方できる技術者は少ない」と松尾さん。
技術を使って社会課題に挑戦したくなった人、ぜひ高専や、高専DCONにチャレンジ!

触発され、手元にもディープラーニングできる環境が欲しくなったので、並列プログラミング、CUDAにチャレンジ!


「GeForce RTX 3060 Ti VENTUS 2X 8GD6X OC | MSI グラフィックボード GeForce RTX 3060 Ti | 株式会社アスク」

NVIDIA 3060Tiを選択。2016年に買ったPCのRX480だけをひとまず載せ替える作戦。


グラボの新旧比較、ファンがでかい!
RX480 5.8TFOPS → NVIDIA 3060Ti 16.2 TFLOPS、約3倍速
ただ速さより、今回は様々な応用アプリ開発が進んでいる、CUDAが動くことが大事。


無事収まりました。


8ピン電源x2は、6ピンと2ピンをくっつけて接続。無事起動!

Windows 10へ、Visual Studio C++ / cli開発キット、NVIDIAのグラフィックボード、CUDA Toolkitを用意して、nvccコマンドでコンパイル。実行ファイルが生成されました!

__global__ void vector_lifegame(char* out, char* in) { int x0 = blockDim.x * blockIdx.x + threadIdx.x; int y0 = blockDim.y * blockIdx.y + threadIdx.y; int xp = (x0 + 1) % W; int xm = (x0 - 1 + W) % W; int yp = (y0 + 1) % H; int ym = (y0 - 1 + H) % W; int sum = 0; sum += in[xm + ym * W]; sum += in[x0 + ym * W]; sum += in[xp + ym * W]; sum += in[xm + y0 * W]; sum += in[xp + y0 * W]; sum += in[xm + yp * W]; sum += in[x0 + yp * W]; sum += in[xp + yp * W]; int isAlive = in[x0 + y0 * W]; out[x0 + y0 * W] = ((isAlive && (sum == 2 || sum == 3)) || (!isAlive && sum == 3)) ? 1 : 0; }

src on GitHub
ひとまず緩く実装。ちょっと制限があるC言語という感じ。同じプログラムを同時平行で動かすSIMDアーキテクチャ。


ライフゲームとして動くことを確認!

NVIDIA 3060Tiには、一つ最大1.67GHzで動作するCUDAコアが4,864コ搭載。とんでもない性能に、ワクワクしますね!(3060は最大1.78GHz x 3,584コア、最新4090は最大2.52GHz x 16,384コア)

links
- 見逃し・同時配信 - 世界を変える!AI起業家をめざせ 〜全国高専ディープラーニングコンテスト〜 - NHK

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS