- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are inconsistencies with declaration of 64-bit integers ( signed and unsigned ) in many MKL functions. In mkl_types.h there is a declaration:
/* MKL integer types for LP64 and ILP64 */
#if (!defined(__INTEL_COMPILER)) & defined(_MSC_VER)
#define MKL_INT64 __int64
#define MKL_UINT64 unsigned __int64
#else
#define MKL_INT64 long long int
#define MKL_UINT64 unsigned long long int
#endif
So, MKL_INT64 type is a portable declaration. However, in many MKL functions non-portable declarations long long int and unsigned long long int are used. It creates lots of problems if some legacy C++ compilers are used. For example, Borland C++ v5.x doesn't support long long int and unsigned long long int types.
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
My previous post was for your Note1. In my opinion, it’s better to allow/use customization of MKL types instead of collection of all type variants for currently available compilers.
See my comments below on other your Notes2-4.
2) As to mkl_lapacke.h. It is interface for LAPACKE component and it is already part of mkl.h header.
3) As to CDECL/STDCALL calling convention for MKL functions. You know not all functions in MKL can have types of calling conventions. For example some DFTI functions are defined with ellipsis which is not allowed for STDCALL. Maybe some corrections are required to fix MKL interfaces if they need CDECL/STDCALL. We need to check it for CBLAS you mentioned.
4) As to control inclusion of all MKL headers files in mkl.h. I don’t like your suggestion introducing additional macros for including MKL components. In my opinion mkl.h is common MKL header file which includes all MKL components. But if some application needs just several of them it’s better to list them directly instead of mkl.h.
For example to use LAPACKE and SERVICE components:
#include “mkl_types.h”
#include “mkl_lapacke.h”
#include “mkl_service.h”
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
Firstly, you suggested to change MKL_UINT64 definition to comply with Borland C++. So I said that it's your main problem which can be resolved via customization of MKL_UINT64 type.
As to your comments related to SkipAheadStream definitions, you are right they should use MKL_INT64 type.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
>>>perhaps it is a Microsoft C extension that is also supported by Borland C.>>>
__int64 is Microsoft type specifier.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »