usbalbin / linear_algebra Goto Github PK
View Code? Open in Web Editor NEWLinear algebra library for rust
Linear algebra library for rust
When using an AMD Vega 56 as the computing device the following code seems to create a massive memory leak when doing many iterations. It appears as if the old m1's underlaying buffer is never freed thus burning through device memory in a matter of seconds.
`
use matrix::*;
let x = 200;
let mut m1: Matrix<f32> = Matrix::from_vec(
(0..(rows * cols)).map(|x| x as f32 / (rows * cols) as f32).collect(),
x,//Rows
x//Cols
);
let m2: Matrix<f32> = Matrix::from_vec(
(0..(rows * cols)).map(|x| x as f32 / (rows * cols * rows) as f32).collect(),
x,//Rows
x//Cols
);
for _ in 0..100000 {
m1 = &m1 * &m2; // <- Leak here
}
println!("{:?}", m1);
`
This issue does not appear when using an Intel i7 3930k as the computing device.
linear_algebra is currently not thread safe due to multiple threads having mutable access to static data. References to this data is currently handed out from cl_data() which is called for every math operation on vectors or matrices.
Implement some sort of sorting algorithm for sorting Vector elements
Currently all kernels are compiled only once. This leads to all kernels being compiled ONLY for the element type of the first math operation, which is very bad.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.