From f9b111cb2b2fdc245cbdfcb056273ec6b4439c47 Mon Sep 17 00:00:00 2001
From: Bram Veenboer <bram.veenboer@gmail.com>
Date: Wed, 4 Oct 2023 16:31:33 +0200
Subject: [PATCH] Add minimal example to demonstrate libtcc integration

---
 example/CMakeLists.txt |  9 +++++++++
 example/example.cpp    | 21 +++++++++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 example/CMakeLists.txt
 create mode 100644 example/example.cpp

diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
new file mode 100644
index 0000000..aa11506
--- /dev/null
+++ b/example/CMakeLists.txt
@@ -0,0 +1,9 @@
+project(example)
+cmake_minimum_required(VERSION 3.17 FATAL_ERROR)
+
+find_package(CUDAToolkit REQUIRED)
+find_package(cudawrappers REQUIRED)
+find_package(libtcc REQUIRED)
+
+add_executable(${PROJECT_NAME} example.cpp)
+target_link_libraries(${PROJECT_NAME} tcc cudawrappers::cu cudawrappers::nvrtc)
\ No newline at end of file
diff --git a/example/example.cpp b/example/example.cpp
new file mode 100644
index 0000000..10e5660
--- /dev/null
+++ b/example/example.cpp
@@ -0,0 +1,21 @@
+#include <iostream>
+
+#include <cudawrappers/cu.hpp>
+#include <libtcc/Correlator.h>
+
+#define NR_BITS 8
+#define NR_CHANNELS 480
+#define NR_POLARIZATIONS 2
+#define NR_SAMPLES_PER_CHANNEL 3072
+#define NR_RECEIVERS 576
+#define NR_RECEIVERS_PER_BLOCK 64
+
+int main(int argc, char *argv[]) {
+  cu::init();
+  cu::Device device(0);
+  cu::Context context(0, device);
+  context.setCurrent();
+  tcc::Correlator correlator(NR_BITS, NR_RECEIVERS, NR_CHANNELS,
+                             NR_SAMPLES_PER_CHANNEL, NR_POLARIZATIONS,
+                             NR_RECEIVERS_PER_BLOCK);
+}
\ No newline at end of file
-- 
GitLab