プログラミングの理論には、あまり入り込まずに「マルチコア・プログラミング」のテストをしてみました。
参考書籍は
です。
例題としては、「マンデルブロ集合」(linkはWikipedia)の計算と描画を選びました。M1 Macでの処理結果の画像を載せます。
C言語のソースコードの移植性は高くて、同じソースコードでCygwin(Windows環境)、Linux環境、macOS環境(Intel Mac、M1 Mac)でほぼ変更なく処理できました。
実はPlayStation3でのCell B.E.でのプログラムのビルドも試みましたが、これはうまくいきませんでした。
書籍ではPlayStation3(というより、Cell B.E.)でのプログラミングも解説されていたのですが、Cell B.E.でのプログラミングでは、
「Cell B. E. SDK」を利用する前提の解説でした。ところが 「Cell B. E. SDK」は既に入手不能になっています。
「米IBM、Cellプロセッサ用のSDKを発表、普及狙う」という2005年頃の発表があり、IBMのサイトからダウンロード可能になっていたのですが、今はサイトはあるもののダウンロードはできなくなっている様です。
(参考記事:「Cell SDK 3.1のインストール」)
そもそも「Cell B.E.」というプロセッサ自体がマルチコアなので、ソースコードを一から書く気になれば、マルチコア・プログラミングはできる筈です。
実際に手元のPS3で試した結果の記事は「[PS3 Linux] CELL B.E.らしいプログラミングのテスト」に書きました。この時のプログラムコードはCell SDKは使っていません。なので、
の書籍なども参考にすれば、PS3でのマルチコア・プログラミングもできるとは思っています。ただ、実際に手元のPS3でプログラミングをしてみると、流石に2021年にもなると2005年頃の環境は古くて処理速度は遅いと感じます。また、今後の方針としてMac( Intel Mac、M1 Mac)でのプログラミングを進める予定でいるので、PS3でのプログラミングはここでひとまず棚上げしようと考えています。