「Alpha+ Project September Camp Day1」レポート
はじめに
本記事は、2024年9月7日に KOBE Co CREATION CENTER にて開催された Alpha+ Project による「September Camp Day1」のレポートになります。
Alpha+ Project とは
Greek Alphabet Software Academy が主催する Alpha+ Project は元シリコンバレー企業、そして世界のテクノロジーをリードする会社の元エンジニアがシリコンバレー流の開発スタイルを教えています。
実践的かつ効率的、そして何より楽しい開発手法やマインドセットを学ぶことができます。
主催者 石原直樹さん
日米文化、日米企業の狭間で苦闘しながらソフトウェア開発とそのプログラムマネジメントに従事してきた。14年間勤めた Google で得られた経験やスキルを活かすため2020年に日本へ帰国し、出身地の神戸でイノベーション文化の伝道師として活動中。神戸でトップレベルのソフトウェアエンジニアを育成する Alpha+ Project を主催。
CPU / GPU and more
講演者: hak さん
Alpha+ Project の PM である hak さんに、CPU や GPU といった低レイヤーについての講義をしていただきました。すべての土台となる、低レベルな部分を理解することで、質の高いコードを書くことができるそうです。
CPU と GPU の歴史について学んだ後、それぞれの特徴と役割について学びました。
CPU は高速計算が必要な場合に用いられます。CPU を効率的に動かすコードを書くには、多くの場合優れたアルゴリズムを実装することで高いパフォーマンスを引き出せるそうです。一方、GPU は映像描画に特化したベクタ処理プロセッサで、ゲームや基本行列計算などが得意分野だそうです。
将棋 AI
一般社団法人ソフトウェアエンジニアリング協会理事であり、第34回世界コンピュータ将棋選手権優勝の実績を持つ野田久順さんに、将棋 AI の歴史やその種類について講義をしていただきました。
講演者: 野田久順さん
将棋 AI とは、将棋を指すコンピューターおよびそのプログラムのことです。局面を入力すると「推奨手」と「評価値」を示してくれます。
世界初の将棋 AI が誕生したのは1974年のことです。早稲田大学理工学研究科の大学院生で、後にコンピュータ将棋協会初代会長となる滝澤武信氏が開発したそうです。
将棋AIは「探索」と「評価」を組み合わせて最適な手を選択します。「探索」は人間の「読み」に、「評価」は「大局観」に相当するそうです。探索速度は Nodes Per Second で表され、高性能な機材では1秒あたり数億局面も探索できるとのことでした。
Web GPU ハンズオン
1 期生のすみれさんによる WebGPU を使ったハンズオンが行われました。
講師: すみれさん
最初は RenderShader を使って、各々で四角形を描画できるか挑戦しました。
TypeScript を通して、GPU を呼び出し図形をレンダリングするまでの流れを学びました。
次に、ComputeShader を使用して 4x3 の行列の和の計算方法を学びました。GPU での計算に向いている並列計算とはどういうものか、CPU と GPU で値を受け渡しするためのメモリの使い方について学びました。
最後に、学んだ内容を活かしてペアで GPU プログラミングに挑戦しました。
マウスの動きを追従する目の動きのようなアニメーションを実装したり、シューティングゲームに挑戦したりと、講義で学んだ技術を活かしてペアプログラムに取り組んでいました。
まとめ
Alpha+ Project は今後も定期的に Camp を開催します。レポートも随時公開しますので、ぜひご覧ください。
Discussion