diff --git a/pthwithcuda/cuda/alt_cuda.cuh b/pthwithcuda/cuda/alt_cuda.cuh
new file mode 100644
index 0000000000000000000000000000000000000000..8c167cd4b95ba9c28bc7ddd99e117d61417bec2a
--- /dev/null
+++ b/pthwithcuda/cuda/alt_cuda.cuh
@@ -0,0 +1,37 @@
+#ifndef ALT_CUDA_CUH
+#define ALT_CUDA_CUH
+
+#include <vector>
+#include <queue>
+#include <limits>
+#include <random>
+#include <algorithm>
+#include "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.6/include/cuda_runtime.h"
+
+class ALTCUDA {
+public:
+    // Struktur für Landmark-Distanzen
+    struct LandmarkDistances {
+        std::vector<std::vector<double>> distancesFromLandmark;
+        std::vector<std::vector<double>> distancesToLandmark;
+    };
+
+    ALTCUDA() {}
+
+    // Dijkstra-Hilfsfunktion mit CUDA
+    std::vector<double> dijkstra_cuda(const std::vector<std::vector<double>>& graph, int src);
+
+    // Landmark-Distanzen berechnen
+    LandmarkDistances computeLandmarkDistances(
+        const std::vector<std::vector<double>>& graph,
+        const std::vector<int>& landmarks);
+
+    // ALT-Hauptalgorithmus mit CUDA
+    std::vector<double> run(
+        const std::vector<std::vector<double>>& graph,
+        int start,
+        int goal,
+        int numLandmarks = 5);
+};
+
+#endif // ALT_CUDA_CUH