[LLVMdev] Future of the LLVM OpenMP runtime

David Chisnall David.Chisnall at cl.cam.ac.uk
Thu Feb 27 01:29:30 PST 2014


On 27 Feb 2014, at 08:25, Alp Toker <alp at nuanti.com> wrote:

> On 26/02/2014 09:03, David Chisnall wrote:
>> On 25 Feb 2014, at 23:13, Alp Toker <alp at nuanti.com> wrote:
>> 
>>> Now that we've kick-started the LLVM OpenMP runtime discussion, I want to make a concrete proposal to get a test suite up and running for the LLVM OpenMP runtime. I don't think the current setup as an LLVM subproject is sustainable going forward without some form of testing support, automated or otherwise.
>> I'd add that fairly high up the TODO list should probably be a build system that's a bit easier to modify.  We're very interested in getting the runtime working on FreeBSD with a view to importing it into the base system at some point in the future (we've removed the GNU OpenMP runtime and would quite like a replacement).
> 
> Some good news: We have a FreeBSD port covering both the build system and the OpenMP runtime itself. I'll see if we can contribute this upstream in the next few days.
> 
> This work generalises a few abstractions to ease porting to other platforms as well.

That's awesome!  

>> We have a number of people producing experimental manycore 64-bit MIPS systems running FreeBSD, so we'd also be interested in doing MIPS bring-up, but the build system is currently something of a show-stopper for us.
> 
> The port is working on FreeBSD 10 x86_64 (modulo CPU affinity support) so MIPS shouldn't be a large leap from there, hopefully this time with some test coverage.

Excellent news!  We'll look at initially importing it and the Intel Clang fork into the ports tree and see if we can start using it for OpenMP-requiring ports.

What's needed for CPU affinity?  We expose his via pthread_attr_setaffinity_np() in <pthread_np.h> - does the runtime need anything more from the interface, or was this support just not yet a high priority for you?  I'd be happy to help with this support.

Since Linux and FreeBSD use the same calling conventions and data layouts on MIPS (and ARM), hopefully we can both benefit from improved architecture support in the library.  

David





More information about the llvm-dev mailing list