Skip to content

Replace Travis CI with GitHub Actions#85

Open
AJ0070 wants to merge 11 commits intoJuliaParallel:masterfrom
AJ0070:pr-84
Open

Replace Travis CI with GitHub Actions#85
AJ0070 wants to merge 11 commits intoJuliaParallel:masterfrom
AJ0070:pr-84

Conversation

@AJ0070
Copy link

@AJ0070 AJ0070 commented Mar 9, 2026

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

continuing work from #84

andreasnoack and others added 10 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>
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>
@AJ0070
Copy link
Author

AJ0070 commented Mar 9, 2026

@andreasnoack tests are passing now!

@andreasnoack
Copy link
Member

I'm surprised that the last commit causes lav.jl to time out. Any idea why that could be?

@AJ0070
Copy link
Author

AJ0070 commented Mar 11, 2026

I am not sure, currently trying to figure it out

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