- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
It looks like the interface for MKL_malloc is missing from the mkl_service Fortran 90 module, at least in the versions I have. Is it supposed to be in there? The documentation seems to indicate so, and the interface for mkl_free is definitely there.
Cheers,
Ben
Windows
14.0.2.176
Linux
$ grep -ic mkl_malloc composer*/mkl/include/mkl_service.f90 composer_xe_2011_sp1.10.319/mkl/include/mkl_service.f90:0 composer_xe_2011_sp1.13.367/mkl/include/mkl_service.f90:0 composer_xe_2011_sp1.6.233/mkl/include/mkl_service.f90:0 composer_xe_2011_sp1.8.273/mkl/include/mkl_service.f90:0 composer_xe_2011_sp1.9.293/mkl/include/mkl_service.f90:0 composer_xe_2013.0.079/mkl/include/mkl_service.f90:0 composer_xe_2013.1.117/mkl/include/mkl_service.f90:0 composer_xe_2013.2.146/mkl/include/mkl_service.f90:0 composer_xe_2013.4.183/mkl/include/mkl_service.f90:0 composer_xe_2013.5.192/mkl/include/mkl_service.f90:0 composer_xe_2013_sp1.0.080/mkl/include/mkl_service.f90:0 composer_xe_2013_sp1.1.106/mkl/include/mkl_service.f90:0 composer_xe_2013_sp1.2.144/mkl/include/mkl_service.f90:0 composer_xe_2013_sp1.3.174/mkl/include/mkl_service.f90:0 composerxe-2011.0.084/mkl/include/mkl_service.f90:0 composerxe-2011.3.174/mkl/include/mkl_service.f90:0 composerxe-2011.4.191/mkl/include/mkl_service.f90:0 composerxe-2011/mkl/include/mkl_service.f90:0
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
declared in mkl_service.h. there is an example -- <mklroot>\examples\servicefuncsf\source\ servicefuncs.f
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Gennady Fedorov (Intel) wrote:
declared in mkl_service.h. there is an example -- <mklroot>\examples\servicefuncsf\source\ servicefuncs.f
Yes, the C prototypes are in mkl_service.h, but that won't work for Fortran.
That example file has the MKL memory functions declared as external, rather than with using an explicit interface:
#ifdef _IA32 INTEGER*4 MKL_MALLOC, MKL_CALLOC, MKL_REALLOC integer*4 ALLOC_SIZE, NUM_ELEM, SIZE_ELEM #else INTEGER*8 MKL_MALLOC, MKL_CALLOC, MKL_REALLOC integer*8 ALLOC_SIZE, NUM_ELEM, SIZE_ELEM #endif EXTERNAL MKL_MALLOC, MKL_FREE, MKL_CALLOC, MKL_REALLOC
The documentation indicates that an interface should be available for both languages:
Intel® Math Kernel Library 11.1 Update 2 Reference Manual wrote:
Fortran Include Files/Modules
- Include file: mkl.fi
- Module (compiled): mkl_service.mod
- Module (source): mkl_service.f90
C Include Files
- mkl.h
However it's also missing from mkl.fi:
$ grep -ic malloc composer*/mkl/include/mkl.fi composer_xe_2011_sp1.10.319/mkl/include/mkl.fi:0 composer_xe_2011_sp1.13.367/mkl/include/mkl.fi:0 composer_xe_2011_sp1.6.233/mkl/include/mkl.fi:0 composer_xe_2011_sp1.8.273/mkl/include/mkl.fi:0 composer_xe_2011_sp1.9.293/mkl/include/mkl.fi:0 composer_xe_2013.0.079/mkl/include/mkl.fi:0 composer_xe_2013.1.117/mkl/include/mkl.fi:0 composer_xe_2013.2.146/mkl/include/mkl.fi:0 composer_xe_2013.4.183/mkl/include/mkl.fi:0 composer_xe_2013.5.192/mkl/include/mkl.fi:0 composer_xe_2013_sp1.0.080/mkl/include/mkl.fi:0 composer_xe_2013_sp1.1.106/mkl/include/mkl.fi:0 composer_xe_2013_sp1.2.144/mkl/include/mkl.fi:0 composer_xe_2013_sp1.3.174/mkl/include/mkl.fi:0 composerxe-2011.0.084/mkl/include/mkl.fi:0 composerxe-2011.3.174/mkl/include/mkl.fi:0 composerxe-2011.4.191/mkl/include/mkl.fi:0 composerxe-2011/mkl/include/mkl.fi:0
I just wrote my own interface for it.
Cheers,
Ben
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello.
The issue has been fixed in MKL v.11.3.0 which has been released two days ago. Please check how it works and let us know if any further problems.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page