Code Monkey home page Code Monkey logo

breeze's Introduction

Breeze Build Status

Breeze is a library for numerical processing. It aims to be generic, clean, and powerful without sacrificing (much) efficiency.

This is the 2.x branch. The 1.x branch is 1.x.

The latest release is 2.0.1-RC1, which is cross-built against Scala 3.0, 2.12, and 2.13.

Documentation

Using Breeze

Building it yourself

This project can be built with SBT 1.2+

SBT

For SBT, add these lines to your SBT project definition:

libraryDependencies  ++= Seq(
  // Last stable release
  "org.scalanlp" %% "breeze" % "2.0.1-RC1",
  
  // The visualization library is distributed separately as well.
  // It depends on LGPL code
  "org.scalanlp" %% "breeze-viz" % "2.0.1-RC1"
)

Previous versions of Breeze included a "breeze-natives" artifact that bundled various native libraries. As of Breeze 1.3, we now use a faster, more friendly-licensed library from @luhenry called simply "netlib". This library is now bundled by default.

Maven

Maven looks like this:

<dependency>
  <groupId>org.scalanlp</groupId>
  <artifactId>breeze_2.13</artifactId>
  <version>2.0.1-RC1</version>
</dependency>

Other build tools

[http://mvnrepository.com/artifact/org.scalanlp/breeze_2.12/2.0.1-RC1] (as an example) is a great resource for finding other configuration examples for other build tools.

See documentation (linked above!) for more information on using Breeze.

History

Breeze is the merger of the ScalaNLP and Scalala projects, because one of the original maintainers is unable to continue development. The Scalala parts are largely rewritten.

(c) David Hall, 2009 -

Portions (c) Daniel Ramage, 2009 - 2011

Contributions from:

  • Jason Zaugg (@retronym)
  • Alexander Lehmann (@afwlehmann)
  • Jonathan Merritt (@lancelet)
  • Keith Stevens (@fozziethebeat)
  • Jason Baldridge (@jasonbaldridge)
  • Timothy Hunter (@tjhunter)
  • Dave DeCaprio (@DaveDeCaprio)
  • Daniel Duckworth (@duckworthd)
  • Eric Christiansen (@emchristiansen)
  • Marc Millstone (@splittingfield)
  • Mérő László (@laci37)
  • Alexey Noskov (@alno)
  • Devon Bryant (@devonbryant)
  • Kentaroh Takagaki (@ktakagaki)
  • Sam Halliday (@fommil)
  • Chris Stucchio (@stucchio)
  • Xiangrui Meng (@mengxr)
  • Gabriel Schubiner (@gabeos)
  • Debasish Das (@debasish83)
  • Julien Dumazert (@DumazertJulien)
  • Matthias Langer (@bashimao)
  • Mohamed Kafsi (@mou7)
  • Max Thomas (@maxthomas)
  • @qilab
  • Weichen Xu (@WeichenXu123)
  • Sergei Lebedev (@superbobry)
  • Zac Blanco (@ZacBlanco)

Corporate (Code) Contributors:

And others (contact David Hall if you've contributed and aren't listed).

Common Issues

Segmentation Fault or Other Crashes on Linux

Netlib, the new low level BLAS library Breeze uses, in turn uses OpenBLAS by default on Linux, which has some quirky behavior w.r.t. threading. (Please see luhenry/netlib#2). As work arounds:

  • Use MKL, if possible
  • Increase the size of the stack of Java threads with -Xss10M (set the Java threads' stack size to 10 Mbytes)
  • Make sure OpenBLAS doesn't use the parallel implementation by defining the environment variable OPENBLAS_NUM_THREADS=1
  • Compile a custom version of OpenBLAS that unconditionally define USE_ALLOC_HEAP at https://github.com/xianyi/OpenBLAS/blob/develop/lapack/getrf/getrf_parallel.c#L49

breeze's People

Contributors

dlwh avatar ktakagaki avatar dramage avatar gabeos avatar nikdon avatar jaketimothy avatar jasonbaldridge avatar dreamquster avatar jrj-d avatar devonbryant avatar mengxr avatar bashimao avatar jacobandreas avatar rahulpalamuttam avatar zacblanco avatar davedecaprio avatar fozziethebeat avatar rakeshchalasani avatar laci37 avatar weichenxu123 avatar rtreffer avatar benfradet avatar knavely avatar darrenjw avatar declerambaul avatar fommil avatar hl475 avatar yumuuu avatar vincent-grosbois avatar yu-iskw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.