- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In Fortran, assuming I have a 64bit avx-able machine at my disposal, Is ALLOCATE statement guaranteed to allocate aligned arrays when the compiler is called with the "-align array64byte" flag? Or, do I need to call MKL_MALLOC in order to achieve this? I would really like to avoid MKL_MALLOC if possible, because, according to the example from the MKL 11 reference, it uses Cray pointers. My entire program is Fortran 2008, I'd hate to pollute it with such things.
Additionally, If there are no guarantees, is there a way to check if the allocation is aligned without resorting to an external C function which calculates the modulo?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"-align array64byte" compiler flag should give you what you need. See more details about aligning arrays in FORTRAN in this article:
https://software.intel.com/en-us/articles/fortran-array-data-and-arguments-and-vectorization

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page