-
Notifications
You must be signed in to change notification settings - Fork 162
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fortran bindings are built but not installed #126
Comments
Indeed, this is related to #122 and we'd like to address it for the next release. I'm not sure what directory structure is expected for installed Fortran modules. If you're willing to make a contribution, we'd gladly accept it. |
Further observations: Fortran bindings work fine without With gfortran the test program compiles and works:
Intel's ifort does not accept module files compiled with other compilers ( I guess Fortran module files are simply not portable). So one needs to pass a Fortran compiler name/path to zfp, like so:
Unfortunately Fortran ZFP bindings fail to compile this way because i) ifort does not recognise gfortran compile flags, ii) zfp.f has a default F77 file extension, ifort fails to compile it, zfp.f should be renamed to zfp.f90 for ifort to swallow it. So right now in order to use ifort I had to do this:
Basically rename zfp.f to zforp.f90 (I want to reserve the Regarding the placement of a Fortran module file |
And one more thing, the current Fortran ZFP module name as it appears in
|
Thanks for your suggestions. I don't know the rationale for the We'll take a closer look at this over the coming weeks. |
Hi Peter, Thank you and yes the issue can be closed. Though by this time I have analysed and re-created ZFP in native FORTRAN as well as Intel SPMD C (ispc)... The native FORTRAN implementation is not general, it is specific to my needs and ties closely with the rest of the FITSWEBQLSE FORTRAN code. The intention is to take a full advantage of CPU L1 cache, operate on 4x4 blocks held in the L1 cache and only decompress on demand small portions of the large widthxheight 2D array (similar to your caching). And as of last week I switched from Co-Array FORTRAN to Julia. Julia is like FORTRAN on steroids and, compared with Co-Arrays, has better distributed computing (distributed arrays etc.). Chris |
Sounds interesting. We've been thinking about putting FORTRAN wrappers around our cfp C bindings to zfp's compressed-array classes, but the demand for such a feature has not yet been high enough for this to override other priorities. Some day... |
Fortran bindings can be built by issuing
cmake -DBUILD_ZFORP=ON ..
followed bymake
. But then issuingsudo make install
installs under/usr/local/
the usual zfp C/C++ library only, without the Fortran bindings (Fortran module + libzFORp.so).The text was updated successfully, but these errors were encountered: