- Jan 12, 2017
-
-
John Biddiscombe authored
* Fix CMakeLists to handle build as a subproject When several CMake generated projects are build together, it is common practice to have a 'superproject' CMakeLists that uses add_subdir(proj1) add_subdir(proj2) ... where each subproject is a self contained CMake based project (Example proj1=HPX, proj2=nestmc, proj3=another, ...) CMAKE_SOURCE_DIR always points to the top level directory which is the superproject dir in this case, whereas PROJECT_SOURCE_DIR always points to the root of the current project() in the CMakeLists so one shouod use PROJECT_SOURCE_DIR as this gets the relative paths correct. * Add option to turn off auto generation from *.mod files * Fix #134 : Change CMake WITH_OPTION to NMC_WITH_OPTION, compiler #define to NMC_HAVE_OPTION 1) The user may select an option by saying NMC_WITH_XXX 2) This may trigger CMake to use find_package(...) or setup some other variables. CMake can then set variable NMC_HAVE_XXX and add a what has actually been used. 3) Code should use #ifdef NMC_HAVE_XXX to check for a feature Old CMake/define New CMake Compiler #define ---------------- --------- ---------------- THREADING_MODEL NMC_THREAD_MODEL WITH_TBB NMC_WITH_TBB NMC_HAVE_TBB WITH_OMP NMC_WITH_OMP NMC_HAVE_OMP WITH_SERIAL NMC_WITH_SERiAL NMC_HAVE_SERIAL WITH_MPI NMC_WITH_MPI NMC_HAVE_MPI WITH_CUDA NMC_WITH_CUDA NMC_HAVE_CUDA WITH_GPU NMC_HAVE_GPU WITH_ASSERTIONS NMC_WITH_ASSERTIONS NMC_HAVE_ASSERTIONS WITH_TRACE NMC_WITH_TRACE NMC_HAVE_TRACE WITH_PROFILING NMC_WITH_PROFILING NMC_HAVE_PROFILING Other user visible CMake vars ----------------------------- VECTORIZE_TARGET -> NMC_VECTORIZE_TARGET USE_OPTIIZED_KERNELS -> NMC_USE_OPTIIZED_KERNELS BUILD_VALIDATION_DATA -> NMC_BUILD_VALIDATION_DATA BUILD_JULIA_VALIDATION_DATA -> NMC_BUILD_JULIA_VALIDATION_DATA BUILD_NRN_VALIDATION_DATA -> NMC_BUILD_NRN_VALIDATION_DATA VALIDATION_DATA_DIR -> NMC_VALIDATION_DATA_DIR Variables such as NMC_THREADING_MODEL and NMC_VECTORIZE_TARGET now use enumerated cmake values so you can toggle between them in ccmake gui. SYSTEM_TYPE_CRAY/BGQ -> NMC_SYSTEM_TYPE (Generic/Cray/BGQ) * Use generator expression for modcc path Some IDE's (like Xcode for example), override the CMake binary paths and add /Debug or /Release etc so rules that have hard coded paths to binaries will fail.
-
- Nov 14, 2016
-
-
Ben Cumming authored
This PR is part of the gpu feature merge. The GPU implementation is not implemented here. Instead, we focus on refactoring of the original "multicore" back end so that it is ready for adding the GPU back end. This is a big and messy change, for which I am sorry. ## build System - A `WITH_CUDA` option has been added to the main CMakeLists. This finds the CUDA toolkit, and sets CUDA compiler flags, and will build unit tests for the gpu back end. - The CMakeLists that generates mechanisms with modcc has been updated to generate CUDA mechanisms. - the library is now named `libnestmc` instead of `libcellalgo` - merge the external libraries that are optionally linked againts (tbb, libunwind, etc) into a single `EXTERNAL_LIBRARIES` list for ease of linking ## modcc - the cprinter and cudaprinter have had small changes to generate mechanism files that are compatible with the refactored library. ## algorithms - the indexes into algorithm was "rangified". An algori...
-
- Aug 25, 2016
-
-
Benjamin Cumming authored
* fix compile time error in src/model.hpp * add mpi_listener type for sensible output and error reporting when using MPI with Google Test. * add stub for communicator unit testing
-
- Aug 18, 2016
-
-
Benjamin Cumming authored
-
- Aug 05, 2016
-
-
Benjamin Cumming authored
-
- Jul 01, 2016
-
-
Benjamin Cumming authored
* add header only library TCLAP for parsing command line arguments - added as git submodule - update CMakeLists to include headers * remove the ring model from miniapp * add support for user supplied parameters for miniapp - arguments for cell counts etc can be command line flags - or in a user-defined json input file * the all-to-all model supports synapses-per-cell is less than the total number of cells - in this case a random set of sources is selected
-
- Jun 24, 2016
-
-
Benjamin Cumming authored
Added MPI support to the miniapp - added ring model and all-to-all model - started refactoring general model setup steps into a model class in miniapp - optional -DWITH_MPI to turn on MPI support
-
- May 04, 2016
-
-
Benjamin Cumming authored
-
- May 02, 2016
-
-
Benjamin Cumming authored
-
- Jan 26, 2016
-
-
Benjamin Cumming authored
-
- Jan 07, 2016
-
-
Benjamin Cumming authored
-
- Dec 22, 2015
-
-
Benjamin Cumming authored
-
- Dec 13, 2015
-
-
Benjamin Cumming authored
-