Configurer et exécuter DPC++ sous linux (y compris la méthode d'installation sans interface graphique)

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

insérez la description de l'image ici

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

insérez la description de l'image ici

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
insérez la description de l'image ici

Acceptez, il y aura une installation d'eclipse au milieu, vous pouvez l'ignorer, jusqu'au suivant
insérez la description de l'image ici

Après le chargement, affichez le répertoire d'installation,
insérez la description de l'image ici
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 :

insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_44616044/article/details/131188970
conseillé
Classement