CUDA* から SYCL* API へのマッピング照会
CUDA* から SYCL* API へのマッピング照会#
--query-api-mapping
オプションを使用して、指定された CUDA* API と機能的に互換性のある SYCL* API を検出します。API 照会機能は、手動コード移行を支援し、SYCL* API を理解するのに役立ちます。
次の例では、cudaMalloc
関数に対して機能的に互換性のある SYCL* API を照会します。
$ dpct --query-api-mapping=cudaMalloc
CUDA API:
cudaMalloc(pDev /*void ***/, s /*size_t*/);
次のように移行されます:
*pDev = (void *)sycl::malloc_device(s, dpct::get_in_order_queue());
Linux* では、tab
キーを使用して、--query-api-mapping
オプションに指定された CUDA* API 名を自動補完できます。次に例を示します。
--query-api-mapping
オプションに部分的な CUDA* 関数名 “cudaMa” を指定します。dpct --query-api-mapping=cudaMa
tab
を押します。CUDA* API 名は
cudaMalloc
に自動補完されます。dpct --query-api-mapping=cudaMalloc
インテル® DPC++ 互換性ツールは、CUDA* API 名のあいまい性のある一致もサポートします。次に例を示します。
$ dpct --query-api-mapping=cudamalloc
CUDA API:
cudaMalloc(pDev /*void ***/, s /*size_t*/);
次のように移行されます:
*pDev = (void *)sycl::malloc_device(s, dpct::get_in_order_queue());