Skip to content

Commit

Permalink
Merge branch 'development' for GeNN bugfix release 2.2.2.
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesturner246 committed Nov 18, 2016
2 parents 8ac428c + e43f50c commit e01c85f
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 8 deletions.
28 changes: 28 additions & 0 deletions doxygen/09_ReleaseNotes.dox
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
/*! \page ReleaseNotes Release Notes

Release Notes for GeNN v2.2.2
====

This release includes minor new features and several bug fixes for certain system configurations.

User Side Changes
----

1. Added support for the new version (2.0) of the Brian simulation package for Python.

2. Added a mechanism for setting user-defined flags for the C++ compiler and NVCC compiler, via `GENN_PREFERENCES`.

Bug fixes:
----

1. Fixed a problem with `atomicAdd()` redefinitions on certain CUDA runtime versions and GPU configurations.

2. Fixed an incorrect bracket placement bug in code generation for certain models.

3. Fixed an incorrect neuron group indexing bug in the learning kernel, for certain models.

4. The dry-run compile phase now stores temporary files in the current directory, rather than the temp directory, solving issues on some systems.

5. The `LINK_FLAGS` and `INCLUDE_FLAGS` in the common windows makefile include 'makefile_commin_win.mk' are now appended to, rather than being overwritten, fixing issues with custom user makefiles on Windows.

-------------------------------------------------------------------


Release Notes for GeNN v2.2.1
====

Expand Down
2 changes: 1 addition & 1 deletion doxygen/genn-doxygen.conf
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = GeNN
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 2.2
PROJECT_NUMBER = 2.2.2

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
9 changes: 7 additions & 2 deletions lib/src/generateALL.cc
Original file line number Diff line number Diff line change
Expand Up @@ -226,13 +226,13 @@ void chooseDevice(NNmodel &model, //!< the nn model we are generating code for
#ifdef _WIN32
nvccFlags += " -I\"%GENN_PATH%\\lib\\include\"";
string runnerPath = path + "\\" + model.name + "_CODE\\runner.cc";
string cubinPath = tS(getenv("TEMP")) + "\\runner.cubin";
string cubinPath = path + "\\runner.cubin";
string nvccCommand = "\"\"" + tS(NVCC) + "\" " + nvccFlags;
nvccCommand += " -o \"" + cubinPath + "\" \"" + runnerPath + "\"\"";
#else
nvccFlags += " -I\"$GENN_PATH/lib/include\"";
string runnerPath = path + "/" + model.name + "_CODE/runner.cc";
string cubinPath = "/tmp/runner.cubin";
string cubinPath = path + "/runner.cubin";
string nvccCommand = "\"" + tS(NVCC) + "\" " + nvccFlags;
nvccCommand += " -o \"" + cubinPath + "\" \"" + runnerPath + "\"";
#endif
Expand Down Expand Up @@ -270,6 +270,11 @@ void chooseDevice(NNmodel &model, //!< the nn model we are generating code for
}
}
CHECK_CU_ERRORS(cuModuleUnload(module));

if (remove(cubinPath.c_str())) {
cerr << "generateALL: Error deleting dry-run cubin file" << endl;
exit(EXIT_FAILURE);
}
}

for (int kernel= 0; kernel < krnlNo; kernel++) {
Expand Down
10 changes: 5 additions & 5 deletions userproject/include/makefile_common_win.mk
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ CXXFLAGS =$(CXXFLAGS) $(OPTIMIZATIONFLAGS)

# Global include and link flags
!IFNDEF CPU_ONLY
INCLUDE_FLAGS =/I"$(GENN_PATH)\lib\include" /I"$(GENN_PATH)\userproject\include" /I"$(CUDA_PATH)\include"
INCLUDE_FLAGS =$(INCLUDE_FLAGS) /I"$(GENN_PATH)\lib\include" /I"$(GENN_PATH)\userproject\include" /I"$(CUDA_PATH)\include"
!IF "$(PROCESSOR_ARCHITECTURE)" == "AMD64" || "$(PROCESSOR_ARCHITEW6432)" == "AMD64"
LINK_FLAGS ="$(GENN_PATH)\lib\lib\genn.lib" "$(CUDA_PATH)\lib\x64\cudart.lib" "$(CUDA_PATH)\lib\x64\cuda.lib"
LINK_FLAGS =$(LINK_FLAGS) "$(GENN_PATH)\lib\lib\genn.lib" "$(CUDA_PATH)\lib\x64\cudart.lib" "$(CUDA_PATH)\lib\x64\cuda.lib"
!ELSE
LINK_FLAGS ="$(GENN_PATH)\lib\lib\genn.lib" "$(CUDA_PATH)\lib\Win32\cudart.lib" "$(CUDA_PATH)\lib\Win32\cuda.lib"
LINK_FLAGS =$(LINK_FLAGS) "$(GENN_PATH)\lib\lib\genn.lib" "$(CUDA_PATH)\lib\Win32\cudart.lib" "$(CUDA_PATH)\lib\Win32\cuda.lib"
!ENDIF
!ELSE
INCLUDE_FLAGS =/I"$(GENN_PATH)\lib\include" /I"$(GENN_PATH)\userproject\include"
LINK_FLAGS ="$(GENN_PATH)\lib\lib\genn_CPU_ONLY.lib"
INCLUDE_FLAGS =$(INCLUDE_FLAGS) /I"$(GENN_PATH)\lib\include" /I"$(GENN_PATH)\userproject\include"
LINK_FLAGS =$(LINK_FLAGS) "$(GENN_PATH)\lib\lib\genn_CPU_ONLY.lib"
!ENDIF

# An auto-generated file containing your cuda device's compute capability
Expand Down

0 comments on commit e01c85f

Please sign in to comment.