{"created":"2023-05-15T14:42:23.966571+00:00","id":58114,"links":{},"metadata":{"_buckets":{"deposit":"697391ca-6b28-4bad-bc40-0b56929c15af"},"_deposit":{"created_by":1,"id":"58114","owners":[1],"pid":{"revision_id":0,"type":"depid","value":"58114"},"status":"published"},"_oai":{"id":"oai:repo.qst.go.jp:00058114","sets":["11"]},"author_link":["583237","583238"],"item_10004_biblio_info_7":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicIssueDates":{"bibliographicIssueDate":"2011-12","bibliographicIssueDateType":"Issued"},"bibliographicPageStart":"000","bibliographic_titles":[{"bibliographic_title":"GPUコンピューティーングホワイトペーパー / エルザジャパン (Online Only URL: http://www.elsa-jp.co.jp/products/hpc/wp/)"}]}]},"item_10004_description_5":{"attribute_name":"抄録","attribute_value_mlt":[{"subitem_description":"MATLABは米国のMathWorks社が開発している数値解析ソフトウェアです。行列やベクトルの演算に特化して設計されていること、グラフ化や3次元表示などが容易におこなえること、分野に特化した関数を集めたToolboxと呼ばれる拡張パッケージが数多くリリースされていることなどの特長を有しており幅広い分野で応用されています。また、関数が豊富にあり、インタプリタ型の言語であることから比較的短時間で簡単にプログラムの実装ができます。\nMATLABはパラレルコンピューティングにも対応しています。デフォルトでは一部の関数がマルチコアCPUによる演算に対応しています(バージョンに依存します)。拡張パッケージであるParallel Computing Toolboxを追加することで、マルチコアCPUだけでなく、GPU(GPGPU)やコンピュータークラスターを利用したパラレルコンピューティングができるようになります。デフォルトと大きく異なる点はMATLABの高水準な関数を使って自前の並列計算用プログラムを書くことが可能になることです。\nMATLABの豊富な関数とCUDAコンピューティングによる高速化を融合させることでアプリケーション開発の幅はさらにひろがることになるでしょう。本稿では既存のCUDAプログラムをMATLABで使用するための一つの手法としてMATLABのMEXを用いた方法をご紹介します。\nMATLABにはC/C++言語やFORTRANで書かれたプログラム資産を有効活用するためのMEXと呼ばれるシステムがあります。MEXを使うことで既存のC/C++言語やFORTRANで書かれたプログラムをMATLAB関数と同じようにコマンドラインから呼び出すことができるようになります。この機能はMATLABに用意されたC/C++、FortranのAPIおよびシステムにインストールされているコンパイラによって実現されています。MATLABプロンプトからのmexによるコンパイルは次のように行います。以下の作業はすべてMATLAB上で行います。","subitem_description_type":"Abstract"}]},"item_access_right":{"attribute_name":"アクセス権","attribute_value_mlt":[{"subitem_access_right":"metadata only access","subitem_access_right_uri":"http://purl.org/coar/access_right/c_14cb"}]},"item_creator":{"attribute_name":"著者","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"川口, 拓之"}],"nameIdentifiers":[{"nameIdentifier":"583237","nameIdentifierScheme":"WEKO"}]},{"creatorNames":[{"creatorName":"川口 拓之","creatorNameLang":"en"}],"nameIdentifiers":[{"nameIdentifier":"583238","nameIdentifierScheme":"WEKO"}]}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourcetype":"article","resourceuri":"http://purl.org/coar/resource_type/c_6501"}]},"item_title":"MEXによるCUDAのコンパイル","item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"MEXによるCUDAのコンパイル"}]},"item_type_id":"10004","owner":"1","path":["11"],"pubdate":{"attribute_name":"公開日","attribute_value":"2012-07-23"},"publish_date":"2012-07-23","publish_status":"0","recid":"58114","relation_version_is_last":true,"title":["MEXによるCUDAのコンパイル"],"weko_creator_id":"1","weko_shared_id":-1},"updated":"2023-05-15T22:19:37.557278+00:00"}