Skip to content

Commit 89911ff

Browse files
author
Ryan
committed
Switched Implementation to OpenCL
1 parent 844dd7a commit 89911ff

7 files changed

Lines changed: 1558 additions & 827 deletions

File tree

calc.cpp

Lines changed: 528 additions & 353 deletions
Large diffs are not rendered by default.

difsim.pro

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,19 @@
1-
CONFIG += c++11
2-
QT += widgets printsupport 3dcore 3drender 3dextras
3-
win32:QT += winextras
4-
5-
win32:QMAKE_CXXFLAGS += /openmp
6-
unix: QMAKE_CXXFLAGS += -fopenmp
7-
unix: QMAKE_CFLAGS += -fopenmp -std=c99
8-
9-
RESOURCES += shaders.qrc
10-
HEADERS += *.h
11-
unix:SOURCES += shaders/calc.c
12-
win32:SOURCES += calc.cpp
13-
SOURCES += coloredlabel.cpp dialog.cpp dialogbutton.cpp directioncalculator.cpp main.cpp param.cpp paramgroup.cpp qcustomplot.cpp spacingcalculator.cpp spectrogram.cpp spectromanager.cpp thread.cpp tinyexpr.c vector3d.cpp window.cpp window3d.cpp
14-
15-
#magic needed to make CUDA work
16-
DISTFILES += configure kernel.cu README.md LICENSE.txt debian/*
17-
LIBS += $$OUT_PWD/kernel$$QMAKE_EXT_OBJ -lcuda -lcudart_static
18-
win32:LIBS += -L$$(CUDA_PATH)/lib/x64
19-
unix:LIBS += -fopenmp -lrt -ldl
20-
21-
kernel.target += $$OUT_PWD/kernel$$QMAKE_EXT_OBJ
22-
kernel.commands += nvcc -c -o $$OUT_PWD/kernel$$QMAKE_EXT_OBJ $$PWD/kernel.cu
23-
QMAKE_EXTRA_TARGETS += kernel
24-
PRE_TARGETDEPS += $$OUT_PWD/kernel$$QMAKE_EXT_OBJ
1+
CONFIG += c++11
2+
QT += widgets printsupport 3dcore 3drender 3dextras
3+
win32:QT += winextras
4+
5+
win32:QMAKE_CXXFLAGS += /openmp
6+
unix: QMAKE_CXXFLAGS += -fopenmp
7+
unix: QMAKE_CFLAGS += -fopenmp
8+
9+
RESOURCES += shaders.qrc
10+
HEADERS += *.h
11+
win32:SOURCES += calc.cpp
12+
unix:SOURCES += shaders/calc.c
13+
SOURCES += coloredlabel.cpp dialog.cpp dialogbutton.cpp directioncalculator.cpp main.cpp param.cpp paramgroup.cpp qcustomplot.cpp spacingcalculator.cpp spectrogram.cpp spectromanager.cpp thread.cpp tinyexpr.c vector3d.cpp window.cpp window3d.cpp
14+
15+
DISTFILES += configure README.md LICENSE.txt debian/*
16+
win32:LIBS += -L$$(CUDA_PATH)/lib/x64 -L$$(AMDAPPSDKROOT)/lib/x86_64 -L$$(INTELOCLSDKROOT)/lib64 -lOpenCL
17+
unix:LIBS += -fopenmp -lrt -ldl
18+
19+
win32:INCLUDEPATH += $$(CUDA_PATH)/include $$(AMDAPPSDKROOT)/include $$(INTELOCLSDKROOT)/include

difsim.pro.user

Lines changed: 565 additions & 0 deletions
Large diffs are not rendered by default.

main.h

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,15 +61,7 @@ extern int g_max_gpus;//global maximum number of GPUs to use in calculation
6161
int get_num_procs_omp();
6262
size_t get_num_iterations();
6363

64-
int getDeviceCountCuda();
65-
int getMaxThreadsPerBlockCuda();
66-
void setDeviceCuda(int);
67-
void*mallocCuda(size_t);
68-
void freeCuda(void*);
69-
void memsetCuda(void*,int,size_t);
70-
void kernelCuda(size_t,size_t,vector*,void*,double,double,vector,double,double);
71-
void memcpyHostToDeviceCuda(void*,const void*,size_t);
72-
void memcpyDeviceToHostCuda(void*,const void*,size_t);
64+
size_t getDeviceCountOpenCL();
7365

7466
vector vec_unit(vector);
7567
vector vec_num(double,vector);

0 commit comments

Comments
 (0)