From ee6b6c7fc45b2c2ca9dac890f5c64cf81a250bf1 Mon Sep 17 00:00:00 2001 From: augustin64 Date: Thu, 3 Nov 2022 10:05:21 +0100 Subject: [PATCH] Update convolution.cu Fix compilation with `extern "C" { ... }` --- Makefile | 4 ++-- src/cnn/convolution.cu | 3 +++ test/cnn_convolution.cu | 1 - 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 0797d8d..ce8f7b7 100644 --- a/Makefile +++ b/Makefile @@ -68,7 +68,7 @@ cnn: $(BUILDDIR)/cnn-main; $(BUILDDIR)/cnn-main: $(CNN_SRCDIR)/main.c $(BUILDDIR)/cnn_train.o $(BUILDDIR)/cnn_cnn.o $(BUILDDIR)/cnn_creation.o $(BUILDDIR)/cnn_initialisation.o $(BUILDDIR)/cnn_make.o $(BUILDDIR)/cnn_neuron_io.o $(BUILDDIR)/cnn_function.o $(BUILDDIR)/cnn_utils.o $(BUILDDIR)/cnn_free.o $(BUILDDIR)/cnn_convolution.o $(BUILDDIR)/colors.o $(BUILDDIR)/mnist.o $(CC) $(CFLAGS) $^ -o $@ -$(BUILDDIR)/cnn-main-cuda: $(CNN_SRCDIR)/main.c $(BUILDDIR)/cnn_train.o $(BUILDDIR)/cnn_cnn.o $(BUILDDIR)/cnn_creation.o $(BUILDDIR)/cnn_initialisation.o $(BUILDDIR)/cnn_make.o $(BUILDDIR)/cnn_neuron_io.o $(BUILDDIR)/cnn_function.o $(BUILDDIR)/cnn_utils.o $(BUILDDIR)/cnn_free.o $(BUILDDIR)/cnn_cuda_convolution.o $(BUILDDIR)/colors.o $(BUILDDIR)/mnist.o +$(BUILDDIR)/cnn-main-cuda: $(BUILDDIR)/cnn_main.o $(BUILDDIR)/cnn_train.o $(BUILDDIR)/cnn_cnn.o $(BUILDDIR)/cnn_creation.o $(BUILDDIR)/cnn_initialisation.o $(BUILDDIR)/cnn_make.o $(BUILDDIR)/cnn_neuron_io.o $(BUILDDIR)/cnn_function.o $(BUILDDIR)/cnn_utils.o $(BUILDDIR)/cnn_free.o $(BUILDDIR)/cnn_cuda_convolution.o $(BUILDDIR)/colors.o $(BUILDDIR)/mnist.o $(NVCC) $(NVCCFLAGS) $^ -o $@ $(BUILDDIR)/cnn_%.o: $(CNN_SRCDIR)/%.c $(CNN_SRCDIR)/include/%.h @@ -107,7 +107,7 @@ build/test-cnn_%: test/cnn_%.c $(CNN_OBJ) $(BUILDDIR)/colors.o $(BUILDDIR)/mnist build/test-mnist_%: test/mnist_%.c $(MNIST_OBJ) $(BUILDDIR)/colors.o $(CC) $(CFLAGS) $^ -o $@ -$(BUILDDIR)/test-cnn_%: test/cnn_%.cu $(BUILDDIR)/cnn_cuda_%.o $(BUILDDIR)/colors.o $(BUILDDIR)/mnist.o $(CNN_OBJ) +$(BUILDDIR)/test-cnn_%: test/cnn_%.cu $(BUILDDIR)/cnn_cuda_%.o $(BUILDDIR)/colors.o $(BUILDDIR)/mnist.o ifndef NVCC_INSTALLED @echo "nvcc not found, skipping" else diff --git a/src/cnn/convolution.cu b/src/cnn/convolution.cu index 5605590..7ee2839 100644 --- a/src/cnn/convolution.cu +++ b/src/cnn/convolution.cu @@ -147,6 +147,7 @@ void make_convolution_device(Kernel_cnn* kernel, float*** input, float*** output } #endif +extern "C" { void make_convolution(Kernel_cnn* kernel, float*** input, float*** output, int output_dim) { #ifndef __CUDACC__ @@ -154,4 +155,6 @@ void make_convolution(Kernel_cnn* kernel, float*** input, float*** output, int o #else make_convolution_device(kernel, input, output, output_dim); #endif +} + } \ No newline at end of file diff --git a/test/cnn_convolution.cu b/test/cnn_convolution.cu index eccee08..f092431 100644 --- a/test/cnn_convolution.cu +++ b/test/cnn_convolution.cu @@ -5,7 +5,6 @@ #include #include -#include "../src/cnn/include/make.h" #include "../src/cnn/include/convolution.h" #include "../src/cnn/include/struct.h"