MPIX_Query_hip_support(3)

✨ MPIX_Query_hip_support(3) ✨

okay bestie, quick lil intro πŸ’… β€” this page lives in the MPI manual, and it's about one tiny lil function that answers one very big question: do we have HIP support or not?? πŸ¦‹


🌸 NAME 🌸

MPIX_Query_hip_support β€” literally just tells you whether HIP (AMD GPU) is supported. That's it. That's the whole thing. no cap. πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

int MPIX_Query_hip_support(void)

look at her. no arguments. just vibes. ✨


πŸ’œ THREAD AND INTERRUPT SAFETY πŸ’œ

okay so, this routine is thread-safe. what that means fr fr: multiple threads can use it at the same time and you do not need to bring your own thread locks. none. zero. she handles herself. periodt. πŸ‘‘

⚠️ BUT β€” and this is the important part, don't skip it 😭 β€” the routine is not interrupt safe. Usually that's because it uses memory allocation routines like malloc, or other non-MPICH runtime routines that are themselves not interrupt-safe. so like… thread-safe yes, interrupt-safe no. two different things, bestie, keep them straight 🫢

🧚 NOTES FOR FORTRAN 🧚

Fortran girlies, this part is for you πŸ’œ

So every MPI routine in Fortran (except for MPI_WTIME and MPI_WTICK β€” those two are the rebels, they don't count πŸ™ˆ) has an extra argument called ierr tacked on at the end of the argument list. ierr is an integer and it means exactly the same thing as the return value of the routine in C. same energy, different language. ✨

And also: in Fortran, MPI routines are subroutines, and you invoke them with the call statement. that's just how it is.

All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. yep. all of them. πŸ’…


🌈 tiny vibe check: you came here for one boolean-ish answer and you got a whole thread-safety lecture. iconic of MPI tbh.

and that's the whole page bestie!! πŸŽ€ this was MPIX_Query_hip_support(3) out of the MPI manual, dated 4/10/2026 β€” slay, go query that HIP support, ily, bye πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from