-
Fixes #68 Corresponding feature: #67 * Reproduce the hh-soma validation test on GPU. * Reproduce the ball and stick model on GPU. * Reproduce miniapp spike chains. * Add `cell_group` unit test to the cuda unit tests: builds simple ball and stick model and integrates for 50ms and records how many spikes occur; it is a simple early warning that something is broken, but is no substitute for the validation tests. * Update the `validate_soma`, `validate_ball_and_stick` and `validate_synapses` validation tests for the GPU backend: * refactor individual tests into test runner functions that are templated on lowered cell type; * for each of the original validation tests add a cuda (.cu) implementation, and write an additional "backend" field to the validation trace metadata. * Use a `CPrinter` to generate the same `net_receive` block that is used for the multicore backend. Note: this is not efficient, because each read/write requires a cuda memcpy between host and device memory, however it allows us to pass all unit and validation tests. A more efficient GPU-specific implementation is left for later optimization work. * Make paths to `gtest.h`, `test_common_cells.hpp` etc. in test sources consistent relative paths, and remove the `tests/` directory from the include path.
0aafd72d