lib4neuro issueshttps://code.it4i.cz/moldyn/lib4neuro/-/issues2019-03-29T18:19:18+01:00https://code.it4i.cz/moldyn/lib4neuro/-/issues/17Write Doxygen documentation for v2019.3.12019-03-29T18:19:18+01:00Martin BesedaWrite Doxygen documentation for v2019.3.1### Summary
Write Doxygen documentation for v2019.3.1### Summary
Write Doxygen documentation for v2019.3.1https://code.it4i.cz/moldyn/lib4neuro/-/issues/16Write User documentation into the project Wiki2019-03-23T14:31:44+01:00Martin BesedaWrite User documentation into the project Wiki### Summary
Write User documentation into the project Wiki for v1.0.0.### Summary
Write User documentation into the project Wiki for v1.0.0.https://code.it4i.cz/moldyn/lib4neuro/-/issues/15Parallelize the code with MPI / Dash2019-03-23T14:25:42+01:00Martin BesedaParallelize the code with MPI / Dash### Summary
Parallelize the code with MPI / Dash### Summary
Parallelize the code with MPI / Dashhttps://code.it4i.cz/moldyn/lib4neuro/-/issues/14Parallelize the code with OpenMP2019-03-23T14:25:06+01:00Martin BesedaParallelize the code with OpenMP### Summary
Parallelize the code with OpenMP### Summary
Parallelize the code with OpenMPhttps://code.it4i.cz/moldyn/lib4neuro/-/issues/13Parallelize the code with OpenACC2019-03-23T14:24:29+01:00Martin BesedaParallelize the code with OpenACC### Summary
Parallelize the code with OpenACC### Summary
Parallelize the code with OpenACChttps://code.it4i.cz/moldyn/lib4neuro/-/issues/12Implementation of PCA2019-03-27T02:43:52+01:00Martin BesedaImplementation of PCASummary
Implement Principal Component Analysis to be able to reduce a dimensionality of a problem. Use [princomp()](http://arma.sourceforge.net/docs.html#princomp) function from Armadillo.Summary
Implement Principal Component Analysis to be able to reduce a dimensionality of a problem. Use [princomp()](http://arma.sourceforge.net/docs.html#princomp) function from Armadillo.https://code.it4i.cz/moldyn/lib4neuro/-/issues/11Improve Boost download to make in build "on demand" during runtime, not durin...2019-03-23T14:02:00+01:00Martin BesedaImprove Boost download to make in build "on demand" during runtime, not during configuration phaseSummary
Improve Boost download to make in build "on demand" during runtime, not during configuration phase. Probably using [add_custom_command()](https://cmake.org/cmake/help/v3.14/command/add_custom_command.html).Summary
Improve Boost download to make in build "on demand" during runtime, not during configuration phase. Probably using [add_custom_command()](https://cmake.org/cmake/help/v3.14/command/add_custom_command.html).https://code.it4i.cz/moldyn/lib4neuro/-/issues/9Upload a new release v2019.3.12019-03-30T13:06:12+01:00Martin BesedaUpload a new release v2019.3.1### Summary
Upload a new release v2019.3.1.### Summary
Upload a new release v2019.3.1.First stable version + Simulator finishedhttps://code.it4i.cz/moldyn/lib4neuro/-/issues/3Fortran API2019-03-21T14:13:17+01:00Martin MrovecFortran APICreate first version of the Fortran (binding) API. With respect to C++ API, i.e.
- DataSet
- NeuralNetwork
- NeuralNetworkSum (?)
- NeuronConstant, NeuronBinary, NeuronLogistic, NeuronLinear
- ParticleSwarm
- MSE
- ErrorSum
- DES...Create first version of the Fortran (binding) API. With respect to C++ API, i.e.
- DataSet
- NeuralNetwork
- NeuralNetworkSum (?)
- NeuronConstant, NeuronBinary, NeuronLogistic, NeuronLinear
- ParticleSwarm
- MSE
- ErrorSum
- DESolver
- MultiIndexMartin MrovecMartin Mrovechttps://code.it4i.cz/moldyn/lib4neuro/-/issues/1TODO2019-03-06T19:30:25+01:00Martin BesedaTODO### Compilation & CI & CD
1. [x] Download and compile external dependencies using `FetchContent` CMake functions instead of separate Bash/Batch scripts
1. [ ] Finish all compilation possibilities AND make specific CI tests for them to be...### Compilation & CI & CD
1. [x] Download and compile external dependencies using `FetchContent` CMake functions instead of separate Bash/Batch scripts
1. [ ] Finish all compilation possibilities AND make specific CI tests for them to be run in a special branch `compilation-test`
1. [ ] Ubuntu + dependencies stored in "atypical" paths (e.g. paths set by variables) + statically linked dependencies
1. [ ] Ubuntu + dependencies stored in "atypical" paths (e.g. paths set by variables) + dynamically linked dependencies
1. [ ] Windows + locally stored dependencies + dynamically linked dependencies
1. [ ] Windows + dependencies stored in system paths + statically linked dependencies
1. [ ] Windows + dependencies stored in system paths + dynamically linked dependencies
1. [ ] Windows + dependencies stored in "atypical" paths (e.g. paths set by variables) + statically linked dependencies
1. [ ] Windows + dependencies stored in "atypical" paths (e.g. paths set by variables) + dynamically linked dependencies
1. [ ] Intel compiler support both on Linux and Windows
1. [ ] MinGW support on Windows
1. [ ] Maybe Fedora support?
1. [x] Ubuntu + locally stored dependencies + statically linked dependencies
1. [x] Ubuntu + locally stored dependencies + dynamically linked dependencies
1. [x] Ubuntu + dependencies stored in system paths + dynamically linked dependencies
1. [x] Windows + locally stored dependencies + statically linked dependencies
1. [ ] Utilize Continuous Deployment
1. [ ] Write an interactive compiler, so users won't have to launch different build scripts manually
1. [ ] Extend unit-test to create a test hierarchy covering not only basic method checking but also the higher functionality (problem-solving)
1. [ ] Document all the test in the Doxygen comments using `@test`
1. [x] Start using mock objects and abstract interfaces
1. [x] Choose a proper mock framework - free, thread-safe, compatible with Boost
1. [ ] Implement code-coverage analysis for Ubuntu CI
1. [ ] Utilize `ctest` for running unit-tests
1. [x] Rewrite compilation, so that examples are dependent only on lib4neuro (and native) libraries and headers
---
### Non-distributed version
1. [ ] Rewrite code using smart pointers to prevent memory leaks
2. [ ] Rewrite tutorial for the current version of compilation scripts
2. [ ] Write a brief user tutorial (README / web?)
3. [ ] Write complete Doxygen documentation (including documentation of unit-tests for every class/functionality)
4. [x] Implement gradient descent training method
1. [x] Implement method itself
1. [x] Implement stochastic version
2. [x] Implement the combined training method interface (to be able to use swarm and BP in turns etc.)
1. [x] Implement Levenberg-Marquardt method
1. [] Implement Principal Component Analysis (using Armadillo)
5. [x] Write "user header" to hide internal classes and functions from users
1. [x] Encapsulate the "user interface" to a namespace, so its functions can't be confused with others with the same names
1. [x] Hide non-API functionality by PImpl - MUST BE CHECKED if the resulting overhead isn't too large!
6. [ ] Write user Fortran API
7. [ ] Write interface for PES representations
9. [ ] Profile the whole library to identify bottle-necks, inefficient vectorization, and threading and optimize it accordingly.
10. [ ] Write interface (API / GUI?) for Glass Service
1. [ ] Develop a method to detect insignificant edges (Wald test?)
---
### Shared-memory-parallel version
1. [ ] Design shared-memory parallel model of the library for CPUs (OpenMP + vectorization)
1. [ ] Implement parallel version
1. [ ] Utilization of GPUs and FPGAs using OpenACC
---
### Distributed version
1. [ ] Design distributed parallel model of the library (MPI)
2. [ ] Implement distributed version
3. [ ] Dash integration etc.