From d3d6d2e80e81bf2d58ea2c7173b8917765ea10fb Mon Sep 17 00:00:00 2001
From: David Chamont <chamont@in2p3.fr>
Date: Thu, 6 Jul 2023 07:05:45 -0700
Subject: [PATCH] Second done is best

---
 GrayScottChatGpt/chatgpt-grayscott-sycl.cpp | 98 ---------------------
 1 file changed, 98 deletions(-)
 delete mode 100644 GrayScottChatGpt/chatgpt-grayscott-sycl.cpp

diff --git a/GrayScottChatGpt/chatgpt-grayscott-sycl.cpp b/GrayScottChatGpt/chatgpt-grayscott-sycl.cpp
deleted file mode 100644
index 521d963..0000000
--- a/GrayScottChatGpt/chatgpt-grayscott-sycl.cpp
+++ /dev/null
@@ -1,98 +0,0 @@
-#include <CL/sycl.hpp>
-#include <iostream>
-#include <vector>
-
-namespace sycl = cl::sycl;
-
-// Définition des constantes de l'équation de Gray-Scott
-constexpr double Du = 0.02;
-constexpr double Dv = 0.01;
-constexpr double F = 0.04;
-constexpr double k = 0.06;
-constexpr double dt = 0.1;
-
-// Fonction pour initialiser les données
-void initializeData(std::vector<double>& u, std::vector<double>& v, int size) {
-    // Initialise u et v avec des valeurs aléatoires
-    std::random_device rd;
-    std::mt19937 gen(rd());
-    std::uniform_real_distribution<> dis(0.0, 1.0);
-
-    for (int i = 0; i < size; ++i) {
-        u[i] = 1.0 - dis(gen);
-        v[i] = dis(gen);
-    }
-}
-
-// Kernel pour mettre à jour les valeurs de u et v
-class GrayScottKernel {
-public:
-    GrayScottKernel(const double* u, const double* v, double* result_u, double* result_v)
-        : u_(u), v_(v), result_u_(result_u), result_v_(result_v) {}
-
-    void operator()(sycl::nd_item<1> item) {
-        size_t index = item.get_global_id(0);
-
-        double u = u_[index];
-        double v = v_[index];
-
-        double laplacian_u = 0.0;
-        double laplacian_v = 0.0;
-
-        // Calcul du laplacien
-        // ...
-
-        // Mise à jour des valeurs de u et v
-        // ...
-
-        result_u_[index] = u;
-        result_v_[index] = v;
-    }
-
-private:
-    const double* u_;
-    const double* v_;
-    double* result_u_;
-    double* result_v_;
-};
-
-int main() {
-    const int size = 1000;
-
-    std::vector<double> u(size);
-    std::vector<double> v(size);
-
-    initializeData(u, v, size);
-
-    // Création de l'environnement SYCL
-    sycl::default_selector selector;
-    sycl::queue queue(selector);
-
-    // Allocation des buffers SYCL pour les données
-    sycl::buffer<double> uBuf(u.data(), sycl::range<1>(size));
-    sycl::buffer<double> vBuf(v.data(), sycl::range<1>(size));
-    sycl::buffer<double> resultUBuf(u.data(), sycl::range<1>(size));
-    sycl::buffer<double> resultVBuf(v.data(), sycl::range<1>(size));
-
-    // Lancement du kernel
-    queue.submit([&](sycl::handler& cgh) {
-        auto uAcc = uBuf.get_access<sycl::access::mode::read>(cgh);
-        auto vAcc = vBuf.get_access<sycl::access::mode::read>(cgh);
-        auto resultUAcc = resultUBuf.get_access<sycl::access::mode::write>(cgh);
-        auto resultVAcc = resultVBuf.get_access<sycl::access::mode::write>(cgh);
-
-        cgh.parallel_for<sycl::range<1>>(sycl::range<1>(size), GrayScottKernel(uAcc.get_pointer(), vAcc.get_pointer(), resultUAcc.get_pointer(), resultVAcc.get_pointer()));
-    });
-
-    // Copie des résultats de retour du buffer SYCL vers le vecteur
-    queue.wait();
-    resultUBuf.get_access<sycl::access::mode::read>().memcpy(u.data(), size * sizeof(double));
-    resultVBuf.get_access<sycl::access::mode::read>().memcpy(v.data(), size * sizeof(double));
-
-    // Affichage des résultats
-    for (int i = 0; i < size; ++i) {
-        std::cout << "u[" << i << "] = " << u[i] << ", v[" << i << "] = " << v[i] << std::endl;
-    }
-
-    return 0;
-}
-- 
GitLab