Utilisez d'abord un ordinateur avec une interface pour trouver le lien sur le site officiel
https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#dpcpp-cpp
Directement en une seule étape, copiez le deuxième lien
Retour au terminal pour télécharger
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
À ce stade, le dossier actuel doit contenir ce fichier, ajouter des autorisations, exécuter
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
Installer
L'interface suivante apparaît
Acceptez, il y aura une installation d'eclipse au milieu, vous pouvez l'ignorer, jusqu'au suivant
Après le chargement, affichez le répertoire d'installation,
entrez le chemin d'installation et configurez-le
source setvars.sh intel64
c'est ça
exécuter le programme
Similaire à la compilation c++
Un exemple officiel (attention à ne pas créer un nouveau fichier de test dans le chemin d'installation tout à l'heure)
// 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
avertir
Vous avez peut-être remarqué un avertissement lors de la compilation ci-dessus, indiquant que l'option de commande dpcpp que vous utilisez actuellement est obsolète et sera supprimée dans une future version. Il est recommandé d'utiliser l'option de commande icpx -fsycl à la place, il est donc préférable de compiler comme ceci :