Unified Parallel C at LBNL/UCB UPC at LBNL/U.C. Berkeley Overview Kathy Yelick U.C. Berkeley, EECS LBNL, Future Technologies Group
Unified Parallel C at LBNL/UCB Unified Parallel C (UPC) at LBNL/UCB Unified Parallel C is a parallel language designed to: -Make parallel machines more accessible to users -Enable better efficiency and scalability than other models Based on research languages from Berkeley, DoD, and DOE labs UPC has broad support -UPC compilers available on Cray, SGI, and HP machines -Over 100 attendees at the last UPC meeting The “Berkeley UPC Compiler” is a joint LBNL/UCB effort -Lead by Kathy Yelick, with 4 LBNL staff, 2 UCB students, and 2 both -About $1M in annual funding (through the “DOE Programming Models” Center, DOE base program funding, and DoD funding) Goals: -Enable wide-spread use of UPC by providing a portable open source compiler for UPC (“gcc-like”) -Identify and demonstrate optimizations for this class of languages, which are relatively unstudied in the compiler community
Unified Parallel C at LBNL/UCB Berkeley UPC Compiler: Results First release scheduled for this month, March ’03 -Based on Open64 open source C and Fortran compiler -Generates “C” as portable assembly language and one- sided communication a layer called “GASNet”, developed by the group -Tuned networking layers for Myrinet, IBM-SP, and Quadrics, with reference implementation for MPI Initial benchmarks show -In spite of portability constraints, such as generating C, the Berkeley compiler often beats the HP compiler on HP hardware! -Performance is comparable to MPI on the NAS Parallel Benchmarks (within a few percent) -Several optimization opportunities exist