mir ~master
LLVM-accelerated Generic Numerical Library for Science and Machine Learning
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
❗️ ndslice was reworked and moved to Mir-Algorithm.
The last Mir version with old ndslice is v0.22.1
.
❗️ Mir GLAS was moved to https://github.com/libmir/mir-glas.
Mir
Generic Numerical Library for Science and Machine Learning.
Separated Mir Projects
- Mir Algorithm - Multidimensional arrays (ndslice), iterators, algorithms.
- Mir Random - Professional Random Number Generators
- Mir GLAS - Linear Algebra Library (Experimental, not supported for now)
- Mir BLAS - Bindings to libraries with CBLAS API like OpenBLAS and Intel MKL.
- Mir LAPACK - Bindings to libraries with LAPACK API like OpenBLAS and Intel MKL.
- Mir Optim - Nonlinear Solvers.
- Mir CPUID - CPU Identification routines (less buggy then Phobos).
Documentation
Documentation API can be found here.
Contents
mir.glas
- Generic Linear Algebra Subroutinesmir.sparse
Sparse TensorsSparse
- DOK format- Different ranges for COO format
CompressedTensor
- CSR/CSC formatsmir.sparse.blas
- Sparse BLAS forCompressedTensor
mir.model.lda.hoffman
- Online variational Bayes for latent Dirichlet allocation (Online VB LDA) for sparse documents. LDA is used for topic modeling.mir.combinatorics
Combinations, combinations with repeats, cartesian power, permutations.
Compatibility
Linux | Mac OS X | Windows | |
---|---|---|---|
64-bit | |||
32-bit | N/A | N/A |
Example
/+dub.sdl:
dependency "mir" version="~>3.1.0"
+/
import std.stdio;
import mir.combinatorics;
void main(string[] args)
{
writeln([1, 2].combinations);
}
Fast setup with the dub package manager
Dub is the D's package manager. You can create a new project with:
dub init <project-name>
Now you need to edit the dub.json
add mir
as dependency.
{
...
"dependencies": {
"mir": "~><current-version>"
},
"dflags-ldc": ["-mcpu=native"]
}
Now you can create an app.d
file in the source
folder and run your code with
dub --compiler=ldmd2
Flag --build=release
and can be added for a performance boost:
dub --compiler=ldmd2 --build=release
ldmd2
is a shell on top of LDC (LLVM D Compiler).
"dflags-ldc": ["-mcpu=native"]
allows LDC to optimize Mir for your CPU.
Contributing
See our TODO List. Mir is very young and we are open for contributing to source code, documentation, examples and benchmarks.
- Registered by Ilia Ki
- ~master released 2 years ago
- libmir/mir
- BSL-1.0
- 2015-2020, Ilya Yaroshenko, Mir Team
- Authors:
- Dependencies:
- mir-random
- Versions:
-
3.2.3 2022-Jun-05 3.2.2 2020-Nov-15 3.2.1 2020-Mar-30 3.2.0 2019-Apr-13 3.1.2 2019-Mar-23 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
8 downloads this month
-
16730 downloads total
-
- Score:
- 2.7
- Short URL:
- mir.dub.pm