-
-
Notifications
You must be signed in to change notification settings - Fork 122
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
rework c function pointers #693
Conversation
048598c
to
a6216a4
Compare
Is it still a problem after merging JuliaInterop/Clang.jl#406 ? |
JuliaInterop/Clang.jl#406 is only for fixing debugging and printing stuff. The question I want to ask here is: "is it possible to modify node function arguments" ? Or do we have to modify the underlying node exprs generated (this seems unfeasible, since information is lost on the way (like |
The only "elegant" way is to overload |
This was fun actually. Don't merge this ;) |
I'm trying to understand the root cause of #688. To me, it seems like Clang.jl doesn't handle |
By the way, is the It doesn't filter the function definitions anymore ... |
Only on the master branch? This could be related: JuliaInterop/Clang.jl#403 |
Worked for me in #692 |
Ha ok, we have to adjust the |
Right, I think we'd better fix this (I'm going to try): typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, void *,
void *, int *); |
#684 (comment), which is simply extracted from Lines 3 to 13 in 7da078c
Char as well. Also, MPIDatatype should be moved to the tests.
|
I can confirm the test script works with this branch of MPI.jl on Ookami with MVAPICH: [mosgiordano@fj004 mvapich]$ srun -n 2 julia --project test.jl
(rank, C) = (0, ['\x01', '\x02'])
(rank, C) = (1, ['\x01', '\x02'])
[mosgiordano@fj004 mvapich]$ srun -n 4 julia --project test.jl
(rank, C) = (1, ['\x01', '\x02', '\x03', '\x04'])
(rank, C) = (2, ['\x01', '\x02', '\x03', '\x04'])
(rank, C) = (3, ['\x01', '\x02', '\x03', '\x04'])
(rank, C) = (0, ['\x01', '\x02', '\x03', '\x04'])
[mosgiordano@fj004 mvapich]$ srun -n 8 julia --project test.jl
(rank, C) = (3, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (2, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (5, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (6, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (7, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (1, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (0, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b'])
(rank, C) = (4, ['\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\a', '\b']) 🚀 |
So julia> MPI.get_name(MPI.Datatype(Char))
"" remains expected ? |
Sadly yes:
I get the same with I don't know if there is a way to query the "MPI equivalent type" for |
Let's reserve that fix (if there is any) for another PR. |
I spoke too soon, I hadn't closed the julia session:
As I mentioned in #688 (comment), lots of segfaults happen at Also, this PR does not solve #684, there's a load of other segmentation faults I get there, with both MVAPICH2 and Open MPI, this is just the first one I got with MVAPICH. |
By the way, buildkite should have some timeouts, there are jobs running for a week now: |
Not currently possible, unfortunately: |
Ah, sorry i merged too early. @giordano doesn't this include the change from #688 (comment)? |
Great! |
Fix #688.
Not yet ready for review ;)