Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python Modules Error with Intel 19 Compiler on Cray #1645

Closed
nmhamster opened this issue Feb 26, 2021 · 5 comments · Fixed by #1644
Closed

Python Modules Error with Intel 19 Compiler on Cray #1645

nmhamster opened this issue Feb 26, 2021 · 5 comments · Fixed by #1644
Assignees
Labels

Comments

@nmhamster
Copy link
Contributor

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
@feldergast
Copy link
Contributor

feldergast commented Feb 26, 2021 via email

@nmhamster
Copy link
Contributor Author

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

@jjwilke
Copy link
Contributor

jjwilke commented Feb 26, 2021

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.

@feldergast
Copy link
Contributor

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

@jjwilke
Copy link
Contributor

jjwilke commented Feb 26, 2021

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

@feldergast feldergast transferred this issue from sstsimulator/sst-core Apr 19, 2021
@feldergast feldergast self-assigned this Apr 19, 2021
@feldergast feldergast added the Bug label Apr 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants