Comments (5)
Sorry about this inconvenience, I am redesigning the Linalg
module at the moment. The new release will include full interface to CBLAS and LAPACKE so I have chosen OpenBLAS as the underlying library (in fact anything with compatible interface should work).
You can install openblas using brew install homebrew/science/openblas
and this should solve the problem. Or you can use opam
to install conf-openblas
to resolve the dependency issue. In the next release, I will include conf-openblas
in the oasis file, but I will also update the readme, thanks for pointing it out.
However, I recommend to download the openblas source from its repo and install from the source code. It gives way better performance than using brew
. Based on my current experiment, Owl is able to achieve the same performance as Julia (actually often a bit faster :)
from owl.
Thanks Liang. No problem. I'm trying some variations on plotting functions. I'll come back with questions (or possibly a PR) once I have had a chance to experiment and think about whether any additions/changes would make sense.
I didn't know that trick for homebrew. Thanks. I had tried using brew
to install openblas using only the string "openblas", but this didn't seem to be in the database. I didn't know about specifying a path. I'll have to learn more about homebrew.
I had tried installing lacaml
with opam, and that installed conf-openblas
, but that didn't get rid of the error. Maybe the location of the files is different from what myocamlbuild.ml assumes? (I don't understand how this file is constructed.)
Anyway, I have openblas installed from source now (whew--that takes a long time to build) and have been able to build and install Owl.
Very nice about performance! Thanks.
from owl.
fwiw, i have had good experiences with openblas on mac. specifically, the accelerate framework on mac also provides lapack, but for me this gave errors when combining it with parmap for fork-based parallelization. forking is apparently not supported in accelerate.
with openblas this works much better, and the performance is not worse than accelerate. plus, it's cross platform.
from owl.
I did a simple speed comparison before and after installing openBLAS and recompiling and installing Owl, and my little application was two to 2-1/2 times faster.
from owl.
Indeed, for most linear algebra and math operations, Owl should be at least as fast as julia (given the right openblas is linked to). But there is still a lot of space to further optimise owl's other operations (julia is very well designed :)
from owl.
Related Issues (20)
- Precedence and associativity with infix operators
- Not all modules have aliases
- Ndarray sum keep_dims:true does not always keep dimensions
- Invalid_argument("index out of bounds") with Algodiff HOT 3
- Painful installation on MacOS HOT 4
- Can't build a module using Owl_stats_dist in dune, works in utop (arm64 mac) HOT 1
- How do I use gaussian_pdf in Owl.Arr? HOT 2
- The setter function for matrices in Owl_algodiff.D.Mat does not work HOT 2
- Cannot install owl-1.1 through opam because of `unmet availability conditions` HOT 2
- `libgfortran.so` not linked and causing compilation error HOT 8
- Cephes build warnings on Arch Linux
- Incorrect `Owl_const.min_float64` value? HOT 1
- Owl_dataframe shouldn' t use 'string_of_float' HOT 1
- Documentation is not in sync with current way plots are working
- OCaml cannot fins owl package HOT 1
- ssqr_diff' modifies inputs in place HOT 2
- Failure to load datasets for neural nets HOT 1
- Broken link to Algodiff module. HOT 2
- Exponential regression -- incorrect case HOT 1
- Test fails with GCC 13
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from owl.