Option to select ISA at compile-time

Issue #435 new
Tirthankar Mazumder created an issue

Hi, I was looking at blaze and was quite impressed by its speed. For this reason, I am hoping I can add blaze as a math backend in the algebra-plugins repository for the ACTS project.

However, the project need the math backend to have cross-compilation support, because it is often the case that the executable is compiled on machine A and then actually run on machine B (which has different ISAs enabled).

From what I could tell by reading the wiki, the blaze config stuff currently only supports enabling/disabling vectorization, but doesn’t allow for fine-grained control of the ISAs enabled. When I tried to manually disable AVX 512, I was unable to do so because the AVX preprocessor macros are used in many places in the code.

Comments (1)

  1. Klaus Iglberger

    Hi Tirthankar!

    Thanks for creating this issue. We understand your requirement. However, it is not entirely clear to us why asking for a particular ISA via the according compiler flags (e.g. ‘-msse4.2’, ‘-mavx’, …) is not enough (even for cross-complication).

    If you take a look at the file ‘blaze/system/Vectorization.h’ you’ll find the place where all Blaze modes (e.g. ‘BLAZE_AVX_MODE’) are defined. Would these flags give you more fine-grained control of the ISAs?

    Best regards,

    Klaus!

  2. Log in to comment