まずインターフェイスを備えたコンピューターを使用して、公式 Web サイトのリンクを見つけます。
https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp
1 つのステップで 2 番目のリンクを直接コピーします
ターミナルに戻ってダウンロードする
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/89283df8-c667-47b0-b7e1-c4573e37bd3e/l_dpcpp-cpp-compiler_p_2023.1.0.46347_offline.sh
run.sh
現時点では、現在のフォルダーにこのファイルがあり、アクセス許可を追加して実行する必要があります。
chmod +x l_dpcpp-cpp-compiler_p_2023.1.0.46347_offline.sh
sudo ./l_dpcpp-cpp-compiler_p_2023.1.0.46347_offline.sh
インストール
次のインターフェイスが表示されます
受け入れます。途中で Eclipse のインストールが行われますが、スキップして次へ進みます。
ロード後、インストールディレクトリを表示し、
インストールパスを入力して設定します。
source setvars.sh intel64
それでおしまい
プログラムを実行する
C++のコンパイルに似ています
公式の例 (ここではインストールパスに新しいテストファイルを作成しないように注意してください)
// Copyright (C) 2020 Intel Corporation
// SPDX-License-Identifier: MIT
#include <sycl/sycl.hpp>
#include <iostream>
using namespace sycl;
const std::string secret {
"Ifmmp-!xpsme\"\012J(n!tpssz-!Ebwf/!"
"J(n!bgsbje!J!dbo(u!ep!uibu/!.!IBM\01" };
const auto sz = secret.size();
int main() {
queue Q;
char *result = malloc_shared<char>(sz, Q);
std::memcpy(result,secret.data(),sz);
Q.parallel_for(sz,[=](auto& i) {
result[i] -= 1;
}).wait();
std::cout << result << "\n";
return 0;
}
dpcpp test.cpp -o test
./test
警告する
上記のコンパイル時に、現在使用している dpcpp コマンド オプションが非推奨であり、将来のリリースで削除されることを示す警告が表示されたことに気付いたかもしれません。代わりに icpx -fsycl コマンド オプションを使用することをお勧めします。そのため、次のようにコンパイルするのが最善です。