[Openmp-commits] [clang] [llvm] [openmp] [OpenMP] support for Emissary APIs as discussed in 89169 (PR #175265)

Greg Rodgers via Openmp-commits openmp-commits at lists.llvm.org
Mon Jan 26 05:28:31 PST 2026


gregrodgers wrote:

There are two types of emissary APIs.  
1. Internal.  This is when llvm contains the host runtime to link to.  EmissaryFortrt, and EmissaryPrint are the only two internal Emissary APIs for now
2. External.  This is used when the host runtime is not available, or proprietary.   Most future use of Emissary APIs will be developed externally.  The Emissary header to support it will be distributed by the library maintainers.  The file EmissaryMPI.h  is just an example for demo purposes.    I expect hardware specific Emissary APIs to be developed externally to LLVM.   The only change needed for new external Emissary APIs will be a new enum field in offload_emis_id_t  and a weak external reference in EmissaryTop from a new case entry.   In fact, external Emissary API can be developed with the Reserved ID which has a weak external call to EmissaryReserve()  .   API maintainers of the Emissary header file can use EmissaryReserve ID indefinitely or until they have multiple Emissary APIs. 

https://github.com/llvm/llvm-project/pull/175265


More information about the Openmp-commits mailing list