#60 ACML/GCC Link Problem in Windows

Next_Release
wont-fix
None
2
2013-05-23
2008-02-28
Frank NN
No

Since ACML 4.0.0, there is no Windows GCC-compiled ACML library any more on the AMD website. Instead, only the Intel-Fortran ACML.

I tried to link it against ITPP in several constellations, g77 (3.x) and gfortran (4.x), DLL and static, but no chance. Always unresolved symbols to the BLAS functions.

I found out, that the name mangling scheme is different with Intel/Windows compilers. Usually a Fortan function "func" is translated into "func" (fortran interface) or "func" (c interface) as link object. Leading "" is omitted in the DLL version. But on Intel/Win it translates to "FUNC" (fortran) or "func" (c). The old GCC ACML had the traditional scheme. The new IFORT ACML has the uppercase scheme.

Can ITPP handle this kind of uppercase name mangling?

In the source I saw the explicit "func_" Fortran call.

So, maybe it needs to
- define macros like "#define _func FUNC" for every BLAS/LAPACK function
or
- adapt the configure script to handle this case automatically

Any other idea?

Discussion

  • Frank NN

    Frank NN - 2008-02-29

    Logged In: YES
    user_id=2022384
    Originator: YES

    Can somebody confirm this problem also with Visual Studio and ACML 4.0.0 on Windows32 ?

     
  • Adam Piątyszek

    Adam Piątyszek - 2008-03-03

    Logged In: YES
    user_id=1004597
    Originator: NO

    Hi Frank,

    To me this is not a bug of IT++, but it's lack of a particular low-priority feature. So, I am moving this ticket to Feature Requests.
    Besides, I will ask you once again: Have you tried to modify the IT++ sources according to your suggestion quoted below?

    So, maybe it needs to
    - define macros like "#define _func FUNC" for every BLAS/LAPACK function
    or
    - adapt the configure script to handle this case automatically

    If yes and this works fine with ACML built with Intel Fortran, please provide us a patch at least so we test this combination and start thinking how to incorporate this change into IT++.

    BTW, I investigated the possibility of modifying the configuration scripts to handle this issue automatically. But it will not work... with the combination you proposed. The autoconf macros that detects C->Fortran interface (name mangling, etc.) require a working Fortran compiler, which was used to build the external libraries. In my opinion the Intel Fortran compiler for Windows is not designed to work under Cygwin or MinGW/MSYS environment, since it requires MS Visual C++.

    As for your second question:

    Can somebody confirm this problem also with Visual Studio and ACML 4.0.0 on Windows32?

    I guess, nobody has tried this combination, because the only 4.0.0 release of ACML for Windows 32-bit is the one built with Intel Fortran compiler, which you checked that has changed name mangling... The ACML PGI 4.0.1 release is for 64-bit systems, which is a minority among Windows users at the moment (in contrast to the Linux world).

    /Adam

     
  • Frank NN

    Frank NN - 2008-03-07

    func_ to FUNC mapping to resolve the name mangling for ACML

     
  • Frank NN

    Frank NN - 2008-03-07

    Logged In: YES
    user_id=2022384
    Originator: YES

    I attached acml_upper_test.h for the mapping "#define _func FUNC", autogenerated by grep/sed. So, the Intel-type Fortran functions are requested from the ACML 4.0.0. However, it did not work in the ITPP build. At the moment I don't have time for further investigations about the problem. Maybe later. I'm still using the ACML 3.6.0.
    File Added: acml_upper_test.h

     
  • Frank NN

    Frank NN - 2008-03-07

    Logged In: YES
    user_id=2022384
    Originator: YES

    uppercase mangling, brute force, just for testing
    File Added: itpp-4.0.3-configure-uppercase-blas.diff

     
  • Bogdan Cristea

    Bogdan Cristea - 2013-05-23
    • status: open --> wont-fix
    • assigned_to: Bogdan Cristea
    • Group: --> Next_Release
     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks