Skip to content

Replace Travis CI with GitHub Actions#84

Open
andreasnoack wants to merge 7 commits intomasterfrom
travis-to-github-actions
Open

Replace Travis CI with GitHub Actions#84
andreasnoack wants to merge 7 commits intomasterfrom
travis-to-github-actions

Conversation

@andreasnoack
Copy link
Member

Remove .travis.yml and add .github/workflows/ci.yml. Tests Julia 1 on Linux (x64) and macOS (Apple Silicon), and Julia pre on Linux.

andreasnoack and others added 2 commits March 3, 2026 21:51
Remove .travis.yml and add .github/workflows/ci.yml. Tests Julia 1
on Linux (x64) and macOS (Apple Silicon), and Julia pre on Linux.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prevent the default Grid from being garbage collected while
distributed matrices or vectors are still alive, matching the
pattern already used by DistMatrix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
andreasnoack and others added 5 commits March 3, 2026 22:56
MPICH 5.0 adopted the standard MPI ABI where MPI_Comm changed from
int to a pointer type. The pre-compiled Elemental binary is
incompatible with this new ABI, causing segfaults in Grid::VCSize().

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Elemental binary was linked against libmpi.so.12 (MPICH 3.x).
MPICH 4.x may have internal ABI differences despite the same soname.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The Elemental binary segfaults on Julia 1.12 in Grid::VCSize()
regardless of MPICH version. Adding 1.10 to determine if this is
a Julia version compatibility issue.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The C interface functions ElDistSparseMatrixCreate and
ElDistMultiVecCreate take an ElConstGrid (Grid pointer), not an
MPI_Comm. The Julia wrappers were incorrectly passing an ElComm
integer which got reinterpret_cast'd as a Grid pointer, causing
a null pointer dereference in Grid::VCSize().

Also revert the MPICH_jll version constraint and Julia 1.10 CI
entry since those were not the root cause.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ElDistSparseMatrixComm and ElDistMultiVecComm don't exist in the
C API. Replace comm(A) calls with A.grid and remove the dead comm
functions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@andreasnoack
Copy link
Member Author

@AJ0070 this now seems to hang. If you'd like to help out here then please try to check this out locally and see if you can figure out why it is hanging.

@AJ0070
Copy link

AJ0070 commented Mar 4, 2026

I am looking into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants