@@ -12,6 +12,7 @@ cmake_minimum_required(VERSION 3.12)
1212#
1313#"YES" / GPU choice only available if CUDA library is installed and the GPU is CUDA capable.
1414############################################################################################
15+
1516if (NOT ENABLE_CUDA)
1617 set (ENABLE_CUDA NO )
1718endif ()
@@ -45,8 +46,8 @@ if(ENABLE_CUDA)
4546 add_compile_definitions (USE_GPU)
4647#Specify the CUDA architecture / gencode that will be targeted
4748 ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware
48- set (CMAKE_CUDA_ARCHITECTURES 37 )
49- set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ;-gencode=arch=compute_37 ,code=sm_37 )
49+ set (CMAKE_CUDA_ARCHITECTURES 75 )
50+ set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ;-gencode=arch=compute_75 ,code=sm_75 )
5051
5152else ()
5253 message ("\n ----Generating Makefile for Graphitti CPU version----" )
@@ -161,18 +162,24 @@ include_directories(
161162
162163if (ENABLE_CUDA)
163164
164- set (cuda_sources Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp
165- Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp
166- Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp
167- Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp
168- Simulator/Edges/Neuro/AllDSSynapses_d.cpp
169- Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp
170- Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp
171- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp
172- Simulator/Vertices/Neuro/AllIFNeurons_d.cpp
173- Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp
165+ set (cuda_ConnectionsSources
174166 Simulator/Connections/Neuro/ConnGrowth_d.cpp )
175- set_source_files_properties (${cuda_sources} PROPERTIES LANGUAGE CUDA)
167+ set_source_files_properties (${cuda_ConnectionsSources} PROPERTIES LANGUAGE CUDA)
168+
169+ set (cuda_EdgesSources Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp
170+ Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp
171+ Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp
172+ Simulator/Edges/Neuro/AllDSSynapses_d.cpp
173+ Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp)
174+ set_source_files_properties (${cuda_EdgesSources} PROPERTIES LANGUAGE CUDA)
175+
176+ set (cuda_VerticesSources
177+ Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp
178+ Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp
179+ Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp
180+ Simulator/Vertices/Neuro/AllIFNeurons_d.cpp
181+ Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp)
182+ set_source_files_properties (${cuda_VerticesSources} PROPERTIES LANGUAGE CUDA)
176183endif ()
177184
178185 #Collect source files and create libraries
@@ -184,7 +191,7 @@ endif()
184191file (GLOB_RECURSE Connections_Source Simulator/Connections/*.cpp Simulator/Connections/*.h)
185192
186193if (ENABLE_CUDA)
187- add_library (Connections STATIC ${Connections_Source} ${cuda_sources } )
194+ add_library (Connections STATIC ${Connections_Source} ${cuda_ConnectionsSources } )
188195else ()
189196 list (REMOVE_ITEM Connections_Source "${CMAKE_CURRENT_SOURCE_DIR} /Simulator/Connections/Neuro/ConnGrowth_d.cpp" )
190197 add_library (Connections STATIC ${Connections_Source} )
@@ -195,7 +202,7 @@ endif()
195202file (GLOB_RECURSE Vertices_Source Simulator/Vertices/*.cpp Simulator/Vertices/*.h)
196203
197204if (ENABLE_CUDA)
198- add_library (Vertices SHARED ${Vertices_Source} ${cuda_sources } )
205+ add_library (Vertices STATIC ${Vertices_Source} ${cuda_VerticesSources } )
199206else ()
200207 list (REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR} /Simulator/Vertices/Neuro/AllVerticesDeviceFuncs.h" )
201208 list (REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR} /Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp" )
@@ -212,7 +219,7 @@ endif()
212219# Create Edges library
213220file (GLOB_RECURSE Edges_Source Simulator/Edges/*.cpp Simulator/Edges/*.h)
214221if (ENABLE_CUDA)
215- add_library (Edges SHARED ${Edges_Source} ${cuda_sources } )
222+ add_library (Edges STATIC ${Edges_Source} ${cuda_EdgesSources } )
216223else ()
217224 list (REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR} /Simulator/Edges/Neuro/AllSynapsesDeviceFuncs.h" )
218225 list (REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR} /Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp" )
0 commit comments