• This repository has been archived on 11/Aug/2020
  • Stars
    star
    1,106
  • Rank 41,969 (Top 0.9 %)
  • Language
    C++
  • License
    Other
  • Created almost 11 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Matrix Shadow:Lightweight CPU/GPU Matrix and Tensor Template Library in C++/CUDA for (Deep) Machine Learning

mshadow: Matrix Shadow

This code base has been donated to the Apache MXNet project per #373, and repo is deprecated. Future development should continue in Apache MXNet.

Build Status

MShadow is a lightweight CPU/GPU Matrix/Tensor Template Library in C++/CUDA. The goal of mshadow is to support efficient, device invariant and simple tensor library for machine learning project that aims for maximum performance and control, while also emphasize simplicity.

MShadow also provides interface that allows writing Multi-GPU and distributed deep learning programs in an easy and unified way.

Features

  • Efficient: all the expression you write will be lazily evaluated and compiled into optimized code
    • No temporal memory allocation will happen for expression you write
    • mshadow will generate specific kernel for every expression you write in compile time.
  • Device invariant: you can write one code and it will run on both CPU and GPU
  • Simple: mshadow allows you to write machine learning code using expressions.
  • Whitebox: put a float* into the Tensor struct and take the benefit of the package, no memory allocation is happened unless explicitly called
  • Lightweight library: light amount of code to support frequently used functions in machine learning
  • Extendable: user can write simple functions that plugs into mshadow and run on GPU/CPU, no experience in CUDA is required.
  • MultiGPU and Distributed ML: mshadow-ps interface allows user to write efficient MultiGPU and distributed programs in an unified way.

Version

  • This version mshadow-2.x, there are a lot of changes in the interface and it is not backward compatible with mshadow-1.0
    • If you use older version of cxxnet, you will need to use the legacy mshadow code
  • For legacy code, refer to Here
  • Change log in CHANGES.md

Projects Using MShadow

More Repositories

1

xgboost

Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
C++
26,028
star
2

dgl

Python package built to ease deep learning on graph, on top of existing DL frameworks.
Python
13,511
star
3

gluon-cv

Gluon CV Toolkit
Python
5,821
star
4

gluon-nlp

NLP made easy
Python
2,553
star
5

decord

An efficient video loader for deep learning with smart shuffling that's super easy to digest
C++
1,772
star
6

nnvm

C++
1,657
star
7

ps-lite

A lightweight parameter server interface
C++
1,525
star
8

minpy

NumPy interface with mixed backend execution
Python
1,109
star
9

cxxnet

move forward to https://github.com/dmlc/mxnet
C++
1,025
star
10

dlpack

common in-memory tensor structure
Python
885
star
11

dmlc-core

A common bricks library for building scalable and portable distributed machine learning.
C++
862
star
12

treelite

Universal model exchange and serialization format for decision tree forests
C++
729
star
13

minerva

Minerva: a fast and flexible tool for deep learning on multi-GPU. It provides ndarray programming interface, just like Numpy. Python bindings and C++ bindings are both available. The resulting code can be run on CPU or GPU. Multi-GPU support is very easy.
C++
698
star
14

parameter_server

moved to https://github.com/dmlc/ps-lite
C++
648
star
15

mxnet-notebooks

Notebooks for MXNet
Jupyter Notebook
615
star
16

rabit

Reliable Allreduce and Broadcast Interface for distributed machine learning
C++
505
star
17

mxnet.js

MXNetJS: Javascript Package for Deep Learning in Browser (without server)
JavaScript
435
star
18

MXNet.jl

MXNet Julia Package - flexible and efficient deep learning in Julia
371
star
19

tensorboard

Standalone TensorBoard for visualizing in deep learning
Python
369
star
20

wormhole

Deprecated
C++
338
star
21

mxnet-memonger

Sublinear memory optimization for deep learning, reduce GPU memory cost to train deeper nets
Python
308
star
22

difacto

Distributed Factorization Machines
C++
296
star
23

XGBoost.jl

XGBoost Julia Package
Julia
288
star
24

mxnet-model-gallery

Pre-trained Models of DMLC Project
266
star
25

GNNLens2

Visualization tool for Graph Neural Networks
TypeScript
232
star
26

HalideIR

Symbolic Expression and Statement Module for new DSLs
C++
205
star
27

mxnet-gtc-tutorial

MXNet Tutorial for NVidia GTC 2016.
Jupyter Notebook
131
star
28

experimental-lda

C++
127
star
29

MXNet.cpp

C++ interface for mxnet
C++
114
star
30

experimental-mf

cache-friendly multithread matrix factorization
C++
87
star
31

web-data

The repo to host all the web data including images for documents in dmlc projects.
Jupyter Notebook
83
star
32

nnvm-fusion

Kernel Fusion and Runtime Compilation Based on NNVM
C++
70
star
33

dmlc.github.io

HTML
27
star
34

tl2cgen

TL2cgen (TreeLite 2 C GENerator) is a model compiler for decision tree models
C++
21
star
35

cub

Cuda
19
star
36

mxnet-deepmark

Benchmark speed and other issues internally, before push to deep-mark
Python
7
star
37

mxnet-examples

MXNet Example
6
star
38

xgboost-bench

Python
4
star
39

drat

Drat Repository for DMLC R packages
4
star
40

nn-examples

1
star
41

gluon-nlp-notebooks

1
star
42

docs-redirect-for-mxnet

redirect mxnet.readthedocs.io to mxnet.io
Python
1
star