Why Flint?
Because i like to develop important software with easy deployable open source and fast libraries.
Developing in Python may be fine for small research projects,
but it is nothing that should be used in performance critical applications.
fast
open-source
portable
Example
Tensor<int, 3> t1{{{0}, {1}}, {{2}, {3}}}; Tensor<int, 2> t2 = t1.repeat(1, 2).flattened(2); std::cout << t2 << std::endl; /* Tensor<INT32, shape: [4, 6]>( * [[0, 1, 0, 1, 0, 1], * [2, 3, 2, 3, 2, 3], * [0, 1, 0, 1, 0, 1], * [2, 3, 2, 3, 2, 3]]) */
Efficiency
Flint comes with two backends.
The first one is a CPU backend with a thread pool.
But the real performance is unlocked with the GPU Backend.
Don't feel the necessity to buy CUDA capable devices because we
deploy OpenCL to boost the computation
on nearly any available accelerator.