Martin Chang

Results 48 issues of Martin Chang

Ok, I think it is worth the while to setup a CI now. I'm able to test x86/aarch64 CPUs and GCC/clang support easily. But MSVC and Windows is kinda a...

enhancement

It's too early to start doing this. Putting a note here so I remember it later on. Etaler has a pretty bad build time for it's code size. Mostly due...

feature request
C++

TL;DR. There's a lot of places I used std::decay to get rid of references and const qualifiers. Which decay does that but have unintentional behavior for functions and arrays. Should...

enhancement
C++

I'm going to admit. The serialization code Etaler uses stinks. The types are a mess and so do the syntax. First of all, [cereal](https://github.com/USCiLab/cereal) is mediocre but not optimal *...

enhancement

(*This issue is also a not for myself.*) As I mentioned in #45 . I'm preparing an API update. ## What's the problem The current API loosely follows the one...

enhancement
need discussion
Spatial Pooling
Temporal Memory

(When C++20 finally get released and compilers got support of it) I think we should move to C++20, making a lot of stuff easier: * No more` "blablabal" + std::to_string(foo)...

enhancement
need discussion

The current OpenCL backend requires us to specify which kernel is needed from the .cl programs. Which can be automatically detected using OpenCL 1.2's CL_PROGRAM_KERNEL_NAMES feature. But This might cause...

enhancement
need discussion

In the Bachelor project by Ali Kaan Sungar, [Hierarchical Temporal Memory Software Agent](http://lnu.diva-portal.org/smash/get/diva2:1218193/FULLTEXT01.pdf) section 5.4.3. He purposes that mirrored synapses (maintaining 2 sets of identical synapses but running in the...

need discussion
optimization
Spatial Pooling
Temporal Memory

Currently copying data between 2 OpenCL backends are done by 1. Allocating a temporary buffer 2. Copy data from GPU1 to buffer 3. Copy data from buffer to GPU2 4....

OpenCL
optimization

One of the bottleneck Etaler have is that encoding is done in the frontend. Which is easy to implement. You encode the SDR into an array and call `Tensor()` to...

optimization