SIMD support for comparison operations

Issue #146 resolved
Shahrzad Shirzad created an issue

Hi Klaus,

I don't believe blaze supports SIMD implementation of comparison operations right now. If I'm right, is it something you could consider to add to blaze?

Thanks, Shahrzad

Comments (3)

  1. Klaus Iglberger

    Hi Shahrzad!

    Thanks a lot for creating this issue. You are correct, Blaze currently does not support SIMD comparison operations. We agree that this is an important feature, which has been on our list for quite some time. We apologize that we haven't found the time to integrate this yet. Thanks again for creating this issue, which will serve as a reminder for us.

    Best regards,

    Klaus!

  2. Klaus Iglberger

    Summary

    The feature has been implemented, tested, and optimized as required. It is immediately available via cloning the Blaze repository and will be officially released in Blaze 3.4.

    Details

    SIMD optimized equality and inequality comparison is now used whenever two dense vectors or matrices are compared via operator==(), operator!=() or the equal() function:

    blaze::DynamicVector<double> a;
    blaze::DynamicVector<double> b;
    // ... Resizing and initialization
    
    if( a == b )  // Uses SIMD optimized equality comparison
    { ... }
    
    blaze::DynamicMatrix<double> A;
    blaze::DynamicMatrix<double> B;
    // ... Resizing and initialization
    
    if( A != B )  // Uses SIMD optimized inequality comparison
    { ... }
    
  3. Log in to comment