Linux での DPC++ の構成と実行 (グラフィカル インターフェイスを使用しないインストール方法を含む)

まずインターフェイスを備えたコンピューターを使用して、公式 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 コマンド オプションを使用することをお勧めします。そのため、次のようにコンパイルするのが最善です。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_44616044/article/details/131188970