{"action":"created","issue":{"url":"https://api.github.com/repos/ocaml/opam-repository/issues/11867","repository_url":"https://api.github.com/repos/ocaml/opam-repository","labels_url":"https://api.github.com/repos/ocaml/opam-repository/issues/11867/labels{/name}","comments_url":"https://api.github.com/repos/ocaml/opam-repository/issues/11867/comments","events_url":"https://api.github.com/repos/ocaml/opam-repository/issues/11867/events","html_url":"https://github.com/ocaml/opam-repository/pull/11867","id":317822509,"number":11867,"title":"Package owl-top.0.3.7","user":{"login":"mor1","id":167904,"avatar_url":"https://avatars1.githubusercontent.com/u/167904?v=4","gravatar_id":"","url":"https://api.github.com/users/mor1","html_url":"https://github.com/mor1","followers_url":"https://api.github.com/users/mor1/followers","following_url":"https://api.github.com/users/mor1/following{/other_user}","gists_url":"https://api.github.com/users/mor1/gists{/gist_id}","starred_url":"https://api.github.com/users/mor1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mor1/subscriptions","organizations_url":"https://api.github.com/users/mor1/orgs","repos_url":"https://api.github.com/users/mor1/repos","events_url":"https://api.github.com/users/mor1/events{/privacy}","received_events_url":"https://api.github.com/users/mor1/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-04-25T23:00:23Z","updated_at":"2018-04-25T23:10:35Z","closed_at":"2018-04-25T23:00:30Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ocaml/opam-repository/pulls/11867","html_url":"https://github.com/ocaml/opam-repository/pull/11867","diff_url":"https://github.com/ocaml/opam-repository/pull/11867.diff","patch_url":"https://github.com/ocaml/opam-repository/pull/11867.patch"},"body":"### `owl-top.0.3.7`\n\nAn OCaml Numerical Library\n\n\nOwl is an emerging numerical library for scientific computing and engineering. The library is developed in the OCaml language and inherits all its powerful features such as static type checking, powerful module system, and superior runtime efficiency. Owl allows you to write succinct type-safe numerical applications in functional language without sacrificing performance, significantly reduces the cost from prototype to production use.\n\nBehind the scene, Owl builds the advanced numerical functions atop of its solid implementation of n-dimensional arrays. Quite different from other libraries, algorithmic differentiation and distributed computing have been included as integral components in the core library to maximise developers' productivity. Owl is young but grows fast, the current features include:\n\n* N-dimensional array (both dense and sparse)\n* Various number types: `float32`, `float64`, `complex32`, `complex64`, `int8`, `int16`, `int32` ...\n* Linear algebra and full interface to CBLAS and LAPACKE\n* Algorithmic differentiation (or automatic differentiation)\n* Neural network module for deep learning applications\n* Dynamic computational graph allowing greatest flexibility for applications\n* Parallel and Distributed engine (map-reduce, parameter server, etc.)\n* Advanced math and stats functions (e.g., hypothesis tests, MCMC, etc.)\n* Zoo system for efficient scripting and code sharing\n* GPU support (work in progress ...)\n\nYou can reach us in the following ways, looking forward to hearing from you!\n\n- [Email Me](mailto:liang.wang@cl.cam.ac.uk)\n- [Slack Channel](https://join.slack.com/t/owl-dev-team/shared_invite/enQtMjQ3OTM1MDY4MDIwLTA3MmMyMmQ5Y2U0NjJiNjI0NzFhZDAwNGFhODBmMTk4N2ZmNDExYjZiMzI2N2M1MGNiMTUyYTQ5MTAzZjliZDI)\n\n\n\n## Learning\n\nOwl's documentation contains a lot of learning materials to help you start. The full documentation consists of two parts: [Tutorial Book](http://www.cl.cam.ac.uk/~lw525/owl/chapter/index.html) and [API Reference](http://www.cl.cam.ac.uk/~lw525/owl/apidoc/index.html). Both are perfectly synchronised with the code in the repository by the automatic building system. You can access both parts with the following link.\n\n* [Owl's Full Documentation](http://www.cl.cam.ac.uk/~lw525/owl/)\n\n\n\n## Installation\n\nOwl requires OCaml `>=4.06.0`. The installation is rather trivial. There are four possible ways to try out Owl, as shown below, from the most straightforward one to the least one.\n\n### Option 1: Install from OPAM\n\nYou can simply type the following in the command line to start.\n\n```bash\nopam install owl\n```\n\nOwl's current version on OPAM is `0.2.9`, and it lags way behind the master branch (current `0.3.4`) and misses many new features. If you want to try the newest version, I recommend the other three ways to install.\n\n### Option 2: Pull from Docker Hub\n\nYou only need to pull in [Owl's docker image](https://hub.docker.com/r/owlbarn/owl/) and start a container, then play with it in `utop`. The source code is stored in `/root/owl` directory.\n\n```bash\ndocker pull owlbarn/owl\ndocker run -t -i owlbarn/owl\n```\n\nThere are several Linux distributions provided including an [ARM-based Ubuntu](https://github.com/owlbarn/owl/blob/master/docker/Dockerfile.ubuntu.arm). You can pull in a specific Owl image with corresponding tags.\n\n```bash\ndocker pull owlbarn/owl:ubuntu\ndocker pull owlbarn/owl:debian\ndocker pull owlbarn/owl:alpine\ndocker pull owlbarn/owl:centos\ndocker pull owlbarn/owl:opensuse\ndocker pull owlbarn/owl:fedora\n```\n\nAll these images are perfectly synced with the master branch by automatic building. You can check the building history on [Docker Hub](https://hub.docker.com/r/owlbarn/owl/builds/).\n\n### Option 3: Pin the Dev-Repo\n\n`opam pin` allows us to pin the local code to Owl's development repository on Github. The first command `opam depext` installs all the dependencies Owl needs.\n\n```bash\nopam depext owl\nopam pin add owl --dev-repo\n```\n\n### Option 4: Compile from Source\n\nFirst, you need to clone the repository.\n\n```bash\ngit clone git@github.com:owlbarn/owl.git\n```\n\nSecond, you need to figure out the missing dependencies and install them.\n\n```bash\njbuilder external-lib-deps --missing @install\n```\n\nLast, this is perhaps the most classic step.\n\n```bash\nmake && make install\n```\n\n### CBLAS/LAPACKE Dependency\n\nThe most important dependency is [OpenBLAS](https://github.com/xianyi/OpenBLAS). Linking to the correct OpenBLAS is the key to achieve the best performance. Depending on the specific platform, you can use `yum`, `apt-get`, `brew` to install the binary format. For example on Mac OSX,\n\n```bash\nbrew install homebrew/science/openblas\n```\n\nHowever, installing from OpenBLAS source code leads to way better performance in my own experiment. In future, the dependency on OpenBLAS should also be resolved by `opam` automatically.\n\n### Integration to Toplevel\n\nOwl is well integrated with `utop`. You can use `utop` to try out the experiments in our tutorials. If you want `utop` to automatically load Owl for you, you can also edit `.ocamlinit` file in your home folder by adding the following lines. (Note that the library name is `owl` with lowercase `o`.)\n\n```bash\n\n\n---\n* Homepage: https://github.com/owlbarn/owl\n* Source repo: git+https://github.com/owlbarn/owl.git\n* Bug tracker: https://github.com/owlbarn/owl/issues\n\n---\n\n\n---\n### 0.3.7 (2018-04-25)\n\n* Fix some bugs and improve performance.\n* Fix some docker files for automatic image building.\n* Move more pure OCaml implementation to base library.\n* Add a new math module to support complex numbers.\n* Improve the configuration and building system.\n* Improve the automatic documentation building system.\n* Change template code into C header files.\n* Add initial support for OpenMP with evaluation.\n* Tidy up packaging using TOPKG.\n:camel: Pull-request generated by opam-publish v0.3.5"},"comment":{"url":"https://api.github.com/repos/ocaml/opam-repository/issues/comments/384461971","html_url":"https://github.com/ocaml/opam-repository/pull/11867#issuecomment-384461971","issue_url":"https://api.github.com/repos/ocaml/opam-repository/issues/11867","id":384461971,"user":{"login":"camelus","id":12823467,"avatar_url":"https://avatars1.githubusercontent.com/u/12823467?v=4","gravatar_id":"","url":"https://api.github.com/users/camelus","html_url":"https://github.com/camelus","followers_url":"https://api.github.com/users/camelus/followers","following_url":"https://api.github.com/users/camelus/following{/other_user}","gists_url":"https://api.github.com/users/camelus/gists{/gist_id}","starred_url":"https://api.github.com/users/camelus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/camelus/subscriptions","organizations_url":"https://api.github.com/users/camelus/orgs","repos_url":"https://api.github.com/users/camelus/repos","events_url":"https://api.github.com/users/camelus/events{/privacy}","received_events_url":"https://api.github.com/users/camelus/received_events","type":"User","site_admin":false},"created_at":"2018-04-25T23:10:35Z","updated_at":"2018-04-25T23:10:35Z","author_association":"NONE","body":"##### :white_check_mark: No new or changed opam files <small>4a5b4c0f60f8e0dead02d9915e16a56bb5d59e1f</small>\n\n\n\n---\n\n\n##### :white_check_mark: Installability check (8752 &rarr; 8752)\n\n"}}
{"actor":{"display_login":"camelus"}}