Compiling with icpc 17.0.0

Issue #57 resolved
Fabian Köhler created an issue

I am trying to compiling my code that uses blaze using Intel's latest compiler. At first I thought that it fails because Intel may be missing some C++14 feature but on your homepage it sys that blaze is tested using icpc 15.0.

Compilation even fails when compiling the following simple program:

#include <blaze/math/CompressedMatrix.h>
#include <complex>

int main()
{
    blaze::CompressedMatrix<std::complex<double>> M;
}

I have included an error log in the attachments.

Am I missing something?

Comments (6)

  1. Klaus Iglberger

    Hi Fabian!

    Thanks a lot for pointing out this issue. It looks like icpc 17.0.0 has a serious problem with the new C++14 type trait alias declarations (e.g. is_pointer_v<T>). We will try to work around this bug as quickly as possible.

    Until the issue is resolved you could use the official Blaze 3.0 release, which does not make use of the alias declarations. We are sorry for the inconvenience.

    Best regards,

    Klaus!

  2. Thibaud Kloczko

    Hi all,

    I have the same issue with the git version using intel compiler icpc (ICC) 16.0.3 20160415.

    ~/blaze-git/blaze/util/typetraits/IsFloatingPoint.h(94): error: "IsFloatingPoint_" is not a function or static data member constexpr bool IsFloatingPoint_ = IsFloatingPoint<T>::value;

    The release 3.0 is OK but I would have used openBLAS support :-/ . No problem, I will wait :-) !

    By the way, nice job with this new increment !

    Best regards,

    Thibaud.

  3. Klaus Iglberger

    Hi!

    It seems that Intel is currently not implementing variable templates in the icpc, which however is an official C++14 feature. This problem seems to exist since 2015.

    Unfortunately we didn't realize this soon enough and used several variable templates within Blaze. Although this is obviously a problem caused by the Intel compiler, we still apologize for inconvenience since we should have caught this earlier in our tests. Therefore, thanks again for pointing out the issue, we really appreciate the help!

    Best regards,

    Klaus!

  4. Klaus Iglberger

    The fix has been implemented and verified via tests. It is immediately available via cloning the Blaze repository and will be officially released in Blaze 3.1.

  5. Log in to comment