sst-elements icon indicating copy to clipboard operation
sst-elements copied to clipboard

Python Modules Error with Intel 19 Compiler on Cray

Open nmhamster opened this issue 4 years ago • 5 comments

Error when compiling SST on Cray environment (Cray-MPI). Using devel branch on core and elements.

Compiler version:

CC --version
icpc (ICC) 19.0.4.243 20190416
Copyright (C) 1985-2019 Intel Corporation.  All rights reserved.

SST Output:

sst ./allreduce.py
FATAL: SSTPythonModel: Execution of model construction function failed
Succeeded in loading library for merlin but library does not contain a Python module
SST Fatal Backtrace Information:
    0 : /home/sdhammo/sst/2021026/core/bin/sst(_ZNK3SST6Output5fatalEjPKcS2_iS2_z+0x7ab) [0x2010936b]
    1 : /home/sdhammo/sst/2021026/core/bin/sst(_ZN3SST4Core24SSTPythonModelDefinition17createConfigGraphEv+0x146) [0x201ff876]
    2 : /home/sdhammo/sst/2021026/core/bin/sst(main+0x5a3) [0x2008ba83]
    3 : /lib64/libc.so.6(__libc_start_main+0xea) [0x2aaaad3b234a]
    4 : /home/sdhammo/sst/2021026/core/bin/sst(_start+0x2a) [0x2008b42a]
Rank 0 [Fri Feb 26 12:22:39 2021] [c0-0c0s5n0] application called MPI_Abort(MPI_COMM_WORLD, 1) - process

nmhamster avatar Feb 26 '21 19:02 nmhamster

That looks like the ELI isn’t loading correctly. Do we ever get the ELI static loading working with the Intel compiler?

feldergast avatar Feb 26 '21 19:02 feldergast

Can confirm GCC 9.3.0 (PrgEnv-gnu) does not encounter this issue.

nmhamster avatar Feb 26 '21 19:02 nmhamster

This was mostly addressed in commit: 66a3e5953fa216fe8ffc8b44b5b2df767f521740

There is a comment in that commit that there is a problem with classes defined entirely in a source file. The Intel compiler decides that because a symbol can't be accessed outside the translation unit it just won't instantiate it at all - leading to no registration of the type.

The pymerlin stuff is entirely contained within a source file. You need to add a SST_ELI_EXPORT(cls) in the source file for whichever type you want registered in the ELI.

jjwilke avatar Feb 26 '21 22:02 jjwilke

Okay, I can add that to both merlin and ember.

feldergast avatar Feb 26 '21 22:02 feldergast

Not to insinuate that you should have noticed a brief offhand comment in the commit : )

jjwilke avatar Feb 26 '21 23:02 jjwilke