f438f03 | Julien Vitay | 14 December 2022, 10:47:50 UTC | Runge-Kutta 4 (rk4) is now available. | 14 December 2022, 10:47:50 UTC |
226063b | Julien Vitay | 14 December 2022, 10:27:19 UTC | Merge branch 'develop' | 14 December 2022, 10:29:22 UTC |
089d93a | Julien Vitay | 14 December 2022, 10:25:55 UTC | Call to warning() was not imported. | 14 December 2022, 10:25:55 UTC |
8474439 | Helge Dinkelbach | 14 December 2022, 10:11:47 UTC | updated changelog. | 14 December 2022, 10:11:47 UTC |
b27ef35 | Helge Dinkelbach | 14 December 2022, 09:52:20 UTC | Added a flag to explicitly disbale the mechanism introduced in a65cd0f (already did for debug in 488f97c). | 14 December 2022, 09:52:20 UTC |
a8f78d1 | Helge Dinkelbach | 14 December 2022, 08:35:48 UTC | Bugfix in Convolution: the filters could not be changed after compile(). | 14 December 2022, 08:39:38 UTC |
c2393d9 | Helge Dinkelbach | 14 December 2022, 08:21:30 UTC | In commit 77f3a3f we changed the implementation of the 'initialized' flag from only indicating the call of _connect to store if the c++ connectivity methods were correctly called. SpecificProjections override the _connect() method and consequently the 'initilized' flag was not initialized (i.e. None). | 14 December 2022, 08:29:31 UTC |
cd574fa | Helge Dinkelbach | 13 December 2022, 16:20:45 UTC | Bugfix in code generation related to post-event and CSR on GPUs. | 13 December 2022, 16:20:45 UTC |
04c73ac | Helge Dinkelbach | 13 December 2022, 11:20:53 UTC | removed unnecessary import introduced in commit e6bcde9. | 13 December 2022, 11:20:53 UTC |
e0b4daa | Helge Dinkelbach | 13 December 2022, 09:53:55 UTC | Bugfix in code generation related to splitted CSRC/CSRC_T. | 13 December 2022, 09:53:55 UTC |
ed60b24 | Helge Dinkelbach | 13 December 2022, 09:40:11 UTC | removed debug print | 13 December 2022, 09:40:11 UTC |
6613b97 | Helge Dinkelbach | 13 December 2022, 09:12:44 UTC | Added sanity rule to prevent usage of CSRC_T and GPUs for non-default synapses. Improved readability of code (commit b66fdf5). | 13 December 2022, 09:12:44 UTC |
e3f2d82 | Helge Dinkelbach | 13 December 2022, 08:44:08 UTC | Updated sanity rules to prevent the usage of continuous transmission on spiking synapses with pre-to-post matrix ordering. The continuous transmission kernel is derived from the rate-coded psp. Therefore, the inversed matrix view of the CSRC_T would introduce many misaligned memory accesses. In case of openMP one would also probably need atomic operations. | 13 December 2022, 08:44:08 UTC |
b66fdf5 | Helge Dinkelbach | 13 December 2022, 08:15:46 UTC | Sanity rules for sparse matrix formats and rate-coded models should consider the hardware. | 13 December 2022, 08:15:46 UTC |
e16b13b | Helge Dinkelbach | 12 December 2022, 16:18:12 UTC | Tentative: added implementation for spiking models using uniform delays and CSR on GPUs. | 12 December 2022, 16:18:12 UTC |
45588a6 | Helge Dinkelbach | 12 December 2022, 15:37:55 UTC | minor change on unittest. | 12 December 2022, 15:37:55 UTC |
c5588c7 | Helge Dinkelbach | 12 December 2022, 15:36:27 UTC | nonuniform delays are not supported yet on GPUs. | 12 December 2022, 15:36:27 UTC |
7bc8feb | Helge Dinkelbach | 12 December 2022, 11:19:40 UTC | Bugfix in single item update using CSR. | 12 December 2022, 11:19:40 UTC |
8e507a1 | Helge Dinkelbach | 12 December 2022, 11:12:44 UTC | ELLPACK-R: fixed single item update for CPU/GPU. | 12 December 2022, 11:12:44 UTC |
5d096dd | Helge Dinkelbach | 12 December 2022, 11:07:08 UTC | Removed debug print left from commit 35b0de4. | 12 December 2022, 11:07:08 UTC |
82de4de | Helge Dinkelbach | 12 December 2022, 09:05:58 UTC | Single item getter for dense matrix format was missing. | 12 December 2022, 09:05:58 UTC |
d3792c9 | Helge Dinkelbach | 12 December 2022, 08:49:55 UTC | Implemented get/set for single matrix values for BSR (CPU/GPU) | 12 December 2022, 08:49:55 UTC |
d788821 | Helge Dinkelbach | 11 December 2022, 17:31:10 UTC | Bugfix (commit 5b24fb5): the change performed in this commit did not adjust the code templates for min/max/mean. | 11 December 2022, 17:31:59 UTC |
064f68d | Helge Dinkelbach | 11 December 2022, 12:38:23 UTC | Fixed code generation bugs related to non-uniform delays. | 11 December 2022, 12:38:23 UTC |
41d842d | Helge Dinkelbach | 11 December 2022, 11:24:45 UTC | Addendum (commit 518b3a1): the custom connectivity classes did not considered the storage_format argument. | 11 December 2022, 11:24:45 UTC |
7f85445 | Helge Dinkelbach | 11 December 2022, 10:04:27 UTC | Temporarily disabled pooling on GPU devices as the code templates are currently broken. The feature is anyways not useable right now, as the convolution is still missing on GPUs. | 11 December 2022, 10:04:27 UTC |
7396014 | Helge Dinkelbach | 10 December 2022, 15:55:11 UTC | missing include statement for SpecificProjections on GPUs. | 10 December 2022, 15:55:11 UTC |
518b3a1 | Helge Dinkelbach | 10 December 2022, 15:52:47 UTC | restructured unittests for custom connectivity and rate-coded psp. - no delay, uniform delay and non-uniform delay are now three classes - non-uniform delays are not supported on GPUs and therefore not tested | 10 December 2022, 15:52:47 UTC |
456351f | Helge Dinkelbach | 08 December 2022, 15:16:41 UTC | Merge branch 'master' into develop | 08 December 2022, 15:16:41 UTC |
2a58a18 | Helge Dinkelbach | 08 December 2022, 10:36:16 UTC | using consistant types. | 08 December 2022, 10:36:16 UTC |
8bc9663 | Julien Vitay | 05 December 2022, 16:25:45 UTC | Bug with midpoint. | 05 December 2022, 16:25:45 UTC |
8df6eb7 | Julien Vitay | 05 December 2022, 16:14:04 UTC | The parser made replacement errors when targets had overlapping names (e.g. sum(exc2) and sum(exc) used in that order). | 05 December 2022, 16:14:04 UTC |
73c3174 | Julien Vitay | 25 November 2022, 15:56:42 UTC | Version 4.7.1.6 | 25 November 2022, 15:56:42 UTC |
439de48 | Helge Dinkelbach | 23 November 2022, 16:00:10 UTC | updated changelog. | 23 November 2022, 16:00:10 UTC |
320af51 | Helge Dinkelbach | 23 November 2022, 15:48:43 UTC | updated changelog. | 23 November 2022, 15:48:43 UTC |
ba6497d | Helge Dinkelbach | 23 November 2022, 15:44:23 UTC | Bugfix: period_offset argument was ignored when creating object copy. | 23 November 2022, 15:44:23 UTC |
ff8b4f0 | Helge Dinkelbach | 21 November 2022, 08:58:16 UTC | Tentative: modified test for save_and_load of projection parameters. The original tests fail, because the save function access the init attribute to gain the stored value. But the init value is only updated by access before compile(). The modifications which should be tested are performed after compile which let the test fail. Therefore I added another field in the test to store the initial states before compile(). | 21 November 2022, 08:58:16 UTC |
42fd859 | Helge Dinkelbach | 11 November 2022, 12:23:00 UTC | Addendum (f2190e0): GPUs does not support CSRC_T, Dense_T for spiking models which are selected by automatic format selection on CPUs. Therefore, we fall back to CSRC on GPUs. | 11 November 2022, 12:23:00 UTC |
c5b7ac1 | Helge Dinkelbach | 10 November 2022, 18:40:03 UTC | Continued work on fcba8bd. - the offsets need to be considered by get/set methods. | 10 November 2022, 18:40:03 UTC |
625954d | Helge Dinkelbach | 10 November 2022, 17:20:41 UTC | Bugfix: related to Dense matrix representation and PopulationViews. If the matrix contains empty rows, the post_ranks need to be considered when constructing the mask which was not done. | 10 November 2022, 17:20:41 UTC |
aaa6223 | Helge Dinkelbach | 09 November 2022, 19:47:00 UTC | Refactor (commit fcba8bd), same as commit d855701 but for openMP. Further, disabled the optimization for now until the feature is fully tested. | 09 November 2022, 19:47:00 UTC |
f92f460 | Helge Dinkelbach | 09 November 2022, 19:30:04 UTC | Addendum (0491ef1): dense matrices. | 09 November 2022, 19:30:04 UTC |
d855701 | Helge Dinkelbach | 09 November 2022, 19:24:52 UTC | Refactor (fcba8bd): instead of splitting the dictionary fields, I added a separate template file for this specialized implementation. | 09 November 2022, 19:24:52 UTC |
4052f6a | Helge Dinkelbach | 09 November 2022, 07:42:00 UTC | updated changelog. | 09 November 2022, 07:42:00 UTC |
528eabb | Helge Dinkelbach | 09 November 2022, 07:22:35 UTC | Bugfix (988b5e5): the psp argument provided to PoolingProjection() was not copied. | 09 November 2022, 07:30:27 UTC |
f1064f6 | Helge Dinkelbach | 09 November 2022, 07:16:27 UTC | Suppressed xrange(). The usage of xrange is a Python2.x related optimization. In Python3.x the xrange() implementation was used to implement range(). | 09 November 2022, 07:16:27 UTC |
7e03c58 | Helge Dinkelbach | 09 November 2022, 06:52:49 UTC | Changed ctype for boolean values on GPUs to char. For local/semiglobal variables we create a vector<ctype> instance. In the modern STL container implementation std::vector<bool> is a specialized container which (compiler dependent) may specialized as bitset container (see: https://en.cppreference.com/w/cpp/container/vector_bool). However, for GPUs this is not suitable and therefore transformation of the boolean value on GPUs into a char datatype. | 09 November 2022, 06:57:21 UTC |
f2190e0 | Helge Dinkelbach | 08 November 2022, 07:18:55 UTC | Extended heuristic format selection. Spiking networks with high density should switch to Dense, pre-to-post representation. | 08 November 2022, 07:18:55 UTC |
099a162 | Helge Dinkelbach | 08 November 2022, 07:11:27 UTC | ConnectorMethods functions should use None as default argument storage_format/storage_order. Using None we can clearly separate between explicit choices made by users and default arguments. | 08 November 2022, 07:11:27 UTC |
078ff35 | Helge Dinkelbach | 08 November 2022, 06:51:25 UTC | updated changelog. | 08 November 2022, 06:51:25 UTC |
fe5b937 | Helge Dinkelbach | 08 November 2022, 06:47:40 UTC | PopulationView expects a numpy.array since commit (5f9d58b). | 08 November 2022, 06:47:40 UTC |
35b0de4 | Helge Dinkelbach | 08 November 2022, 06:46:41 UTC | Tentative: added new debug symbol (_DEBUG_ACCESSOR) to trace accessor function calls (test-wise implemented for LIL) | 08 November 2022, 06:46:41 UTC |
1bd613a | Helge Dinkelbach | 08 November 2022, 06:06:23 UTC | Merge branch 'master' into develop | 08 November 2022, 06:06:23 UTC |
050ac35 | Helge Dinkelbach | 08 November 2022, 05:56:47 UTC | Addendum (a7123ed): suppressed the idx value of IndividualSynapse as it is not needed anymore. | 08 November 2022, 05:57:54 UTC |
a7123ed | Helge Dinkelbach | 08 November 2022, 05:48:36 UTC | Bugfix related to the used index in IndividualSynapse When using calls like projection[post_rank][pre_rank] this leads to the creation of IndividualSynapse() objects. This object used the lil-idx (i.e. the position of pre_rank in the pre_ranks array) which was fine for earlier versions of ANNarchy which only used lil. For csrc, ellpack etc. I changed this accessors to expect the pre_rank not the index position. | 08 November 2022, 05:48:36 UTC |
e295a75 | Helge Dinkelbach | 03 November 2022, 11:01:14 UTC | Merge branch 'master' into develop Notice: The conflict was on the configure_template_ids update tree. In earlier versions, we stored there the indices. Later I stored them together with the other template code. | 03 November 2022, 11:01:14 UTC |
407aae1 | Helge Dinkelbach | 03 November 2022, 10:50:14 UTC | Bugfix in code generation: for sliced LIL, spiking and uniform delays the tid was forgotten when accessing the delay container. | 03 November 2022, 10:50:14 UTC |
0491ef1 | Helge Dinkelbach | 02 November 2022, 07:36:24 UTC | Added inner-/outer-loop distinction for event-driven transmission. Our preliminary results and literature suggest that one need to distinguish between a parallelization on the inner- or outer-loop of the event-driven transmission kernel. For splitted matrices, one will always use outer-loop. | 02 November 2022, 07:36:24 UTC |
655dc5a | Helge Dinkelbach | 02 November 2022, 06:51:39 UTC | Added partitioned implementation for CSRC + post_to_pre view. | 02 November 2022, 06:51:39 UTC |
eb2602b | Helge Dinkelbach | 31 October 2022, 09:03:24 UTC | Bugfix (844c816): storage_order argument was missing in connect_from_matrix_market declaration | 31 October 2022, 09:03:24 UTC |
8d43915 | Helge Dinkelbach | 27 October 2022, 16:34:30 UTC | Applied the changes made in commit fcba8bd also for dense matrix and post_to_pre ordering. | 27 October 2022, 16:34:30 UTC |
27d5d47 | Helge Dinkelbach | 27 October 2022, 08:36:57 UTC | Merge branch 'master' into develop | 27 October 2022, 08:36:57 UTC |
d8b09de | Helge Dinkelbach | 27 October 2022, 08:29:18 UTC | Bugfix: a simulate() after a Monitor.stop() call crashed. Monitor.stop() removes the C++ instance and set the corresponding position in the recorders array to nullptr. However, the simulation code need to check if a recorder was disabled in this way otherwise this leads to a segmentation fault. | 27 October 2022, 08:29:18 UTC |
c8569a6 | Helge Dinkelbach | 27 October 2022, 06:11:45 UTC | CSRC_T and learning appears to work correctly, therefore I remove this sanity check. | 27 October 2022, 06:11:45 UTC |
85f53dd | Helge Dinkelbach | 26 October 2022, 16:38:13 UTC | Profiling: added measurement of the post_event kernel. | 26 October 2022, 16:38:13 UTC |
4560eec | Helge Dinkelbach | 26 October 2022, 15:50:00 UTC | Marked the profiling using PAPI-API as deprecated. | 26 October 2022, 15:50:00 UTC |
630fd77 | Helge Dinkelbach | 26 October 2022, 15:35:25 UTC | The headers contained in thirdparty sub-folder need to be copied during setup. | 26 October 2022, 15:35:25 UTC |
5e7984f | Helge Dinkelbach | 25 October 2022, 17:16:37 UTC | Extended the parser to compute the number of evaluated operations for equations. | 26 October 2022, 15:32:32 UTC |
d3f69a7 | Helge Dinkelbach | 25 October 2022, 07:21:59 UTC | Tentative: for spiking neurons as target of convolution/pooling the psp-variable must be adjusted. | 25 October 2022, 07:21:59 UTC |
4db0fc1 | Helge Dinkelbach | 25 October 2022, 06:39:19 UTC | Tentative: removed rate-coded neuron check for pooling/convolution to allow easier development on the ann_to_snn_conversion extension. | 25 October 2022, 06:39:19 UTC |
988b5e5 | Helge Dinkelbach | 25 October 2022, 06:37:21 UTC | Pooling: Bugfix (fc64001) and allow to overwrite default psp (already allowed on convolution). | 25 October 2022, 06:38:20 UTC |
1a135ae | Helge Dinkelbach | 25 October 2022, 06:33:56 UTC | Convolution: Bugfix (fc64001) and added same sanity check as in Pooling. | 25 October 2022, 06:35:08 UTC |
126575d | Helge Dinkelbach | 24 October 2022, 14:39:09 UTC | Removed doubled CoupledEquations.c_code definition. | 24 October 2022, 14:39:09 UTC |
04ab383 | Helge Dinkelbach | 24 October 2022, 14:37:58 UTC | Merge branch 'master' into develop | 24 October 2022, 14:37:58 UTC |
b1d79bc | Julien Vitay | 23 October 2022, 13:35:58 UTC | Extra tab in midpoint. | 23 October 2022, 13:35:58 UTC |
602cb5c | Helge Dinkelbach | 20 October 2022, 07:38:31 UTC | removed trailing spaces. | 20 October 2022, 08:05:23 UTC |
d45ce63 | Helge Dinkelbach | 19 October 2022, 11:33:43 UTC | Bugfix (844c816): storage_order argument was missing in connect_with_func declaration. | 19 October 2022, 11:33:43 UTC |
fc64001 | Helge Dinkelbach | 18 October 2022, 17:41:12 UTC | Extended sparse matrix format selection heuristics to select the storage_order for rate-coded and spiking models too. | 18 October 2022, 17:41:12 UTC |
5128dcd | Helge Dinkelbach | 17 October 2022, 12:35:48 UTC | Added "annarchy_json" argument to parallel_run(). Normally, the user can adjust the compiler configuration in advance of calling this function. However, there is the option, that the compile is performed during parallel_run() and therefore this flag must be adjustable. | 17 October 2022, 12:35:48 UTC |
4ab147c | Helge Dinkelbach | 15 October 2022, 07:51:46 UTC | Bugfix (6030556): row_nr_off needs to be computed in each iteration by the threads separatly, not incrementally add up. | 15 October 2022, 07:51:46 UTC |
2a14971 | Helge Dinkelbach | 15 October 2022, 07:46:08 UTC | BSRMatrix: more fine-grained debug. The print-out of the tiled mask is now performed only if _DEBUG_CONN is enabled. Otherwise the normal _DEBUG is too noisy. | 15 October 2022, 07:46:08 UTC |
6030556 | Helge Dinkelbach | 15 October 2022, 06:49:57 UTC | Tentative: openMP for block sparse row This commit adds a simple openMP parallelization for the BSR format. The parallelization is applied simply across the block_row. | 15 October 2022, 06:49:57 UTC |
a20665d | Helge Dinkelbach | 15 October 2022, 04:32:54 UTC | cleaned up sliced ELLPACK template header. Added a hyper-parameter printout (as for BSR). | 15 October 2022, 04:32:54 UTC |
8ee024e | Helge Dinkelbach | 15 October 2022, 04:32:14 UTC | Fixed sanity check for sliced ELLPACK - single thread. | 15 October 2022, 04:32:14 UTC |
ecf3f28 | Helge Dinkelbach | 13 October 2022, 12:46:39 UTC | Merge branch 'develop' of https://ai.informatik.tu-chemnitz.de/gogs/annarchy/ANNarchy into develop | 13 October 2022, 12:46:39 UTC |
d18f9ee | Helge Dinkelbach | 13 October 2022, 08:38:54 UTC | minor code change (TimedArray, CUDA) The NVCC compiler complained about the unnecessary first arguments in the for-loop statement. | 13 October 2022, 08:38:54 UTC |
5be9857 | Helge Dinkelbach | 13 October 2022, 08:35:59 UTC | In verbose mode ANNarchy notifies the user which files were changed and had forced a recompile. | 13 October 2022, 08:35:59 UTC |
38963e1 | Helge Dinkelbach | 05 October 2022, 17:38:21 UTC | Implemented two functions related to _DEBUG_CONN flag. | 05 October 2022, 17:38:21 UTC |
e31b53b | Helge Dinkelbach | 05 October 2022, 09:46:54 UTC | updated changelog. | 05 October 2022, 09:46:54 UTC |
dc48293 | Helge Dinkelbach | 05 October 2022, 09:24:50 UTC | Allowed thread placement using CPU_SET also for single-thread applications. | 05 October 2022, 09:24:50 UTC |
0eaf52a | Helge Dinkelbach | 05 October 2022, 07:02:09 UTC | tentative feature: try to implement thread placement rules for parallel_run | 05 October 2022, 07:02:09 UTC |
df7d4a6 | Helge Dinkelbach | 01 October 2022, 08:56:03 UTC | Updated changelog. | 01 October 2022, 08:56:03 UTC |
fcba8bd | Helge Dinkelbach | 30 September 2022, 13:07:54 UTC | Added specialized implementation for dense matrices to reduce the memory requirement in context of PopulationViews | 30 September 2022, 13:07:54 UTC |
a4aab28 | Helge Dinkelbach | 29 September 2022, 05:47:59 UTC | The mask type (default char) of dense matrices is now a template parameter. | 29 September 2022, 05:47:59 UTC |
f09ad6e | Helge Dinkelbach | 28 September 2022, 18:37:51 UTC | Implemented two missing set methods for dense matrix format. | 28 September 2022, 18:37:51 UTC |
ec8f4ed | Helge Dinkelbach | 28 September 2022, 13:39:07 UTC | Fixed class names in template header library. | 28 September 2022, 13:39:07 UTC |
4dd0aaa | Helge Dinkelbach | 28 September 2022, 13:29:15 UTC | Bugfix: wrong index variable for synapse runinning index in the pre_spike event code (CSRC_T matrix). | 28 September 2022, 13:29:15 UTC |
ff9c934 | Helge Dinkelbach | 26 September 2022, 16:46:49 UTC | QuickFix (commit 5f9d58b): Monitor crashes when accessing Population.ranks In commit 5f9d58b I replaced the Population.ranks generation from Python list to numpy.arange(). The monitors use the ranks and provide them to C++ core. This commit fixes this for now, by converting the ranks locally in the PopulationView object to a Python list. | 26 September 2022, 16:46:49 UTC |
2893199 | Helge Dinkelbach | 26 September 2022, 16:42:53 UTC | Added new unittest related to record of PopulationViews. Next to slicing (e.g. Population[:,2]), one can unify two different populations. There are two cases: a) PopView + PopView and PopView + IndividualNeuron. The latter was not tested yet. | 26 September 2022, 16:42:53 UTC |
fa17a70 | Helge Dinkelbach | 25 September 2022, 06:14:04 UTC | This commit relaxes the assert() in BSRMatrix::init_matrix_from_lil(). The previous assert condition on the theoretical number of allocated blocks was a bit strong. Now we check for allocated blocks if a problem arise. Additionally, we check the allocation of dense blocks if we have enough space in RAM. | 25 September 2022, 06:14:04 UTC |