gonum / blas

A BLAS implementation for Go [DEPRECATED]
172 stars 16 forks source link

Use Travis Caching to Speed up OpenBLAS #184

Closed jonlawlor closed 8 years ago

jonlawlor commented 8 years ago

Travis has a caching feature, where you can "persist" a directory across CI calls, detailed at https://docs.travis-ci.com/user/caching/

This change creates a cache in the OpenBLAS.cache/ directory (only available on travis) which holds the OpenBLAS and netlib libraries and headers used. The installation script checks to see if the cache contains the latest version of OpenBLAS by checking the commit id, and if there is a newer commit on the OpenBLAS git repo, then the cache is cleared and rebuilt. There is no handling of the netlib cblas versioning at the moment.

Each item on the built matrix gets a different cache, so we will still build OpenBLAS at least as many times as we have go versions in the build matrix, but after that they won't build again until OpenBLAS updates.

jonlawlor commented 8 years ago

Something about this is tripping up the osx builds...

jonlawlor commented 8 years ago

Works now. This supersedes #174 because this approach is simpler and does not require coordination between a docker hub repo and a github repo. It appears to make OpenBLAS builds take roughly the same amount of time as the native BLAS builds.

PTAL

kortschak commented 8 years ago

Please add final crlf to files missing them.

jonlawlor commented 8 years ago

Done, waiting on changes needed for gonum/lapack#156.

jonlawlor commented 8 years ago

This has the same changes as gonum/lapack#156, can I get a LGTM?

vladimir-ch commented 8 years ago

LGTM