jhuber6 wrote:

> > Sure, what's left for this to work? I'm probably going to be messing around 
> > with the OpenMP 'DeviceRTL' more, likely killing off the 'fatbinary' and 
> > just using the per-target runtime dir stuff. I'm going to assume this 
> > wouldn't work well with SPIR-V since they don't have a consistent toolchain 
> > set up yet. What's we'd need is something like this.
> 
> If you mean the entire flow, first we need some work in the OMP FE to 
> generate valid OMP SPIR-V (some of the stuff we do in DeviceRTL with 
> specifying the addressspaces explicitly on globals make the OMP FE generate 
> bad IR because it never had to deal with SPIR-V's weird global var 
> addressspace /addrspacecast rules before)
> 
> But assuming that works, then yeah we will have to figure out how we want to 
> generate DeviceRTL. I'm not too familiar with the per-target dir stuff, but 
> if the problem is we will have a single RTL for all SPIR-V arches but there 
> will be multiple vendors so the triple won't lead us to the right directory 
> since we only generated one RTL archive for all SPIR-V, then yeah we'll need 
> something special but it should be doable. If I completely whiffed what you 
> were talking about let me know.
> 
> After that we need the actual runtime plugin (at least for Intel devices), 
> which we are working on but it's big.

The vendor should be part of the triple, so realistically we'd have 
`spirv64-unknown-amd` or `spirv64-unknown-intel`.

https://github.com/llvm/llvm-project/pull/120145
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to