Comments (7)
Ha-ha, OpenBLAS "clearly wanted" gfortran-6
because... CK clearly told it so in the install.sh
script just before calling make
:
export FC=${CK_FC}
So CK should have been a bit more careful when setting up the environment. I believe an explicit dependency on a Fortran compiler would override the default value of CK_FC
. This is actually one of the CK strengths where we can gradually cover all important dependencies once they are discovered...
from ck-math.
Indeed, I detect C and then set C++ and fortran without really checking whether they exists - it was done for a quick prototyping (particularly, since I rarely use Fortran nowadays). I agree that we should try to separate them and add fortran entry (and possibly c++ entry) . I will check it out later. And yes, the idea of CK, is to quickly prototype things and then gradually improve them (including meta and API), without breaking previous experiments!
from ck-math.
Following @gfursin's resoluton of the corresponding ctuning/ck-env
issue, I've added an explicit dependency on gfortran
. I tried using the lang-f95
tag but unfortunately the same was present in GCC (GNU C compiler), so I reverted to using the gfortran
tag.
An open question whether a different Fortran compiler be used to compile OpenBLAS?
from ck-math.
I removed lang-f95 (and other fortran) tags from gcc soft description. However, you may need to reregister GCC env otherwise old tags will still be used. I also added tags "fortran". The same tag I added to compiler.icc (Intel compilers which include C and Fortran). If you use CK_FC env, you can compile your program with different fortran compilers, but I don't know about OpenBLAS ...
from ck-math.
So now the lib-openblas-0.2.19
package has the following dependencies:
"deps": {
"boost": {
"local": "yes",
"name": "Boost C++ libraries",
"sort": 5,
"tags": "lib,boost"
},
"c-compiler": {
"add_to_path": "yes",
"local": "yes",
"name": "C compiler",
"sort": 10,
"tags": "compiler,lang-c"
},
"gfortran-compiler": {
"add_to_path": "yes",
"local": "yes",
"name": "GNU Fortran compiler",
"sort": 15,
"tags": "compiler,gfortran",
"only_for_target_os_tags": [
"linux","windows"
]
}
But its generalisation to non-Linux systems, lib-openblas-0.2.19-universal
, has the following ones:
"deps": {
"compiler": {
"local": "yes",
"name": "C compiler",
"skip_from_bat":"yes",
"only_for_target_os_tags": [
"android",
"linux"
],
"sort": 10,
"tags": "compiler,lang-c"
},
"utils-unix-win": {
"local": "yes",
"force_target_as_host": "yes",
"name": "Unix Utils for Windows",
"skip_from_bat":"yes",
"only_for_host_os_tags": [
"windows"
],
"sort": 1,
"tags": "utils,unix-win"
},
"compiler-perl": {
"local": "yes",
"force_target_as_host": "yes",
"name": "Perl",
"skip_from_bat":"yes",
"only_for_host_os_tags": [
"windows"
],
"sort": 3,
"tags": "compiler,perl"
},
"compiler-mingw": {
"local": "yes",
"force_target_as_host": "yes",
"add_to_path":"yes",
"name": "C compiler",
"skip_from_bat":"yes",
"only_for_host_os_tags": [
"windows"
],
"sort": 5,
"tags": "compiler,lang-c,gcc"
}
So the universal package is missing the Fortran dependency, as well as the Boost one (although it has a bunch of Windows-related ones). Should they be introduced?
from ck-math.
Boost doesn't seem to be needed, that's why I removed it (and it seemed to work fine since then for all targets). As for gfortran - yes, will try it now ...
from ck-math.
Added gfortran dependency for Linux and Windows to this package; did not add Boost because it's not needed; fixed gfortran detection in ck-env. Everything seems to be working so I am closing this ticket ...
from ck-math.
Related Issues (19)
- Add OpenBLAS 0.2.19 package HOT 1
- Create package lib-openblas-0.2.20-universal
- Update package:lib-clblast-master-universal and package:lib-clblast-master-universal-tune HOT 2
- Create package:lib-clblas-2.12 HOT 1
- Makefile improvements for lib-acl-* packages HOT 1
- Installing package:lib-clblas-master-universal fails when libOpenCL.so is not in a standard path
- Installing package:lib-clblast-master-universal-tune fails HOT 1
- opencv-3.2.0 installation Odroid HOT 1
- lib-lapack-3.4.2 on Odroid HOT 1
- "ck install package:lib-boost-1.66.0" fails with ICC 18.0.1 HOT 7
- Should the number of OpenBLAS threads be limited by the number of big cores on big.LITTLE systems?
- Program armcl-classification-mobilenet fails to predict when some versions of ArmCL is used
- Boost gets tag "compiled-by-unknown_host-compiler" HOT 1
- Support newer versions of OpenCV built from source HOT 1
- Broken link for lib-eigen-src-3.3.4 HOT 3
- Two suggestion HOT 2
- boost install.sh fails to write user-config.jam HOT 6
- Create package:lib-clblast-1.0.1 HOT 2
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 ck-math.