From 51a8923eb33ad53a36271b1e0b3489d033178337 Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Thu, 9 May 2024 01:27:55 -0500 Subject: [PATCH] will push to unison --- .gdb_history | 42 ++++++++++++++++++++++++++++++++++++++++++ bruh | Bin 17896 -> 0 bytes build/main.o | Bin 0 -> 32680 bytes kernel.cu | 18 ++++++++++++++++++ main.c | 23 ----------------------- main.cu | 41 +++++++++++++++++++++++++++++++++++++---- makefile | 10 +++++++--- 7 files changed, 104 insertions(+), 30 deletions(-) delete mode 100755 bruh create mode 100644 build/main.o create mode 100644 kernel.cu delete mode 100644 main.c diff --git a/.gdb_history b/.gdb_history index 2f823ae..9cf0bf1 100644 --- a/.gdb_history +++ b/.gdb_history @@ -12,3 +12,45 @@ x *=image.data print image context quit +quit +break main.c:27 +exit +break main.cu:27 +r +context +exit() +exit +ls +break main.cu:27 +r +print image +print image.data +print *image.data +print (uint32_t)image.data +print (uint32_t)*image.data +x 0x55555561a140 +print (uint32_t&)*image.data +print (uint32_t)*image.data +print (image.data +print image.data +x 0x55555561a140 +hexdump 0x55555561a140 +aquit +quit +break main.cu:27 +r +print image.data +print (uint32_t*)image.data +print *((uint32_t*)image.data) +print/x *((uint32_t*)image.data) +next +print/x *((uint32_t*)image.data) +print image +quit +break main.cu:27 +r +print image +next +print image +hexdump 0x55555561a140 +quit diff --git a/bruh b/bruh deleted file mode 100755 index e25e18783056fd4b67f8565ccc2341ed392bc758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17896 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 PFA>B_p^NH|qKy9o +#include +#include +#include "include/helper_math.h" + +__global__ void test_image(uint8_t *image) { + int2 unnormalized_coordinates = make_int2(blockDim.x, blockDim.y) * make_int2(blockIdx.x, blockIdx.y) + make_int2(threadIdx.x, threadIdx.y); + int2 img_res = make_int2(blockDim.x, blockDim.y) * make_int2(gridDim.x, gridDim.y); + size_t img_index = (unnormalized_coordinates.y * img_res.y) + unnormalized_coordinates.x; + //uint8_t pixel_val = (img_index / (img_res.x * img_res.y)) * 255; + uint8_t pixel_val = 0xff; + //if(img_index == 1) printf("%i\n", img_index); + print(img_index) + image[img_index] = 0xff; + image[img_index+1] = pixel_val; + image[img_index+2] = pixel_val; + image[img_index+3] = 0xff; +} diff --git a/main.c b/main.c deleted file mode 100644 index b5dda5c..0000000 --- a/main.c +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include "raylib.h" - -int main() { - const int size_x = 1920; - const int size_y = 1080; - Image image = GenImageColor(size_x, size_y, BLUE); - - InitWindow(size_x, size_y, "cuda teseteroni"); - - - - - if(!IsWindowFullscreen()) ToggleFullscreen(); - - while(!WindowShouldClose()) { - BeginDrawing(); - DrawTexture(LoadTextureFromImage(image), 0, 0, WHITE); - EndDrawing(); - } - - return 0; -} diff --git a/main.cu b/main.cu index 9063a8f..2b1b180 100644 --- a/main.cu +++ b/main.cu @@ -1,6 +1,39 @@ -#include "include/helper_math.h" -__global__ void random_noise(double **image) { - int2 unnormalized_coordinates = make_int2(blockDim.x, blockDim.y) * make_int2(blockIdx.x, blockIdx.y) + make_int2(threadIdx.x, threadIdx.y); - int2 img_res = make_int2(blockDim.x, blockDim.y) * make_int2(gridDim.x, gridDim.y);//could move out of kernel for performance boost +#include +#include +#include +#include + +#include "raylib.h" + +__global__ void test_image(uint8_t *image); + +int main() { + const int size_x = 100; + const int size_y = 100; + uint8_t *image_d; + Image image = GenImageColor(size_x, size_y, BLUE); + SetTraceLogLevel(LOG_ERROR); + + InitWindow(size_x, size_y, "cuda teseteroni"); + + cudaMalloc((void **)&image_d, 100 * 100 * 4); + test_image<<<1, dim3(3,3)>>>(image_d); + cudaDeviceSynchronize(); + //for(;;); + //if(!IsWindowFullscreen()) ToggleFullscreen(); + + while(!WindowShouldClose()) { + cudaMemcpy(image.data, (void **)image_d, 100 * 100 * 4, cudaMemcpyDeviceToHost); + //memset(image.data, (int32_t)0x0000ff, 100 * 100 * 4); + BeginDrawing(); + DrawTexture(LoadTextureFromImage(image), 0, 0, WHITE); + EndDrawing(); + } + + + + + + return 0; } diff --git a/makefile b/makefile index c2e4c4e..b733c07 100644 --- a/makefile +++ b/makefile @@ -1,9 +1,13 @@ LIBS = -lraylib -lGL -lm -lpthread -ldl -lrt -lX11 $CC = gcc +INC = -I /opt/cuda/include make: - $(CC) $(LIBS) main.c -o build/main.o - nvcc --compile main.cu -o build/kernel.o - gcc -o indigo_worlds main.o kernel.o + nvcc $(LIBS) $(INC) --debug -c main.cu -o build/main.o + nvcc --device-debug --compile kernel.cu -o build/kernel.o + nvcc $(LIBS) -o build/indigo_worlds build/main.o build/kernel.o + +run: + build/indigo_worlds clean: rm -r build/*