5.1. プラットフォームAPI

前の項目で既に解説しましたが、大変重要な要点なので再度解説します。「図:OpenCL API UMLクラス図」(Figure 5.1, “図:OpenCL API UMLクラス図”)で注目頂きたいのはPlatformとDeviceIDです。

OpenCLを初期化する際、まず始めに必要なのがプラットフォームです。プラットフォームはヘテロジニアス環境を記述するための「オブジェクト」であり、まずプラットフォームオブジェクトを初期化(メモリ領域を確保)して、システム内にあるプラットフォームを洗い出し、使用可能なプラットフォームをリストアップします。

次にプラットフォームの情報ができたら、開発者が選択したプラットフォーム内に存在し、OpenCLをサポートするデバイスを見つけます。そして動作させたいデバイスのオブジェクトを生成(メモリ領域を確保)させて、Contextの定義を可能とさせます。一連の流れから、Platform APIはContextを使用可能な状態にするためのオブジェクトと考えても差し支えないかと思います。

Copyright 2018-2019, by Masaki Komatsu