4 ms·
GNU UPC
- pmoriarty 9y agoHow different is the UPC language from C?
- smegel 9y agoSomething about "pointers-to-shared" from reading the feature list. What that is who knows.
- convolvatron 9y agoits a shared memory programming paradigm that can be implemented on distributed memory machines. UPC programs dont have strong any consistency guarantees. it does have a formal memory model so you know what semantics you can depend on. its kind of a cultural successor to the SHMEM programming model which I think was developed in the 90s for the Cray t3e. at least until recently it was used quite by the NSA, but LBNL has been investing in it for general scientific use (multigrids has been a focus) the previous environment was open source, so I'm not sure what moving to a gnu project changes. the old compiler was getting long it the tooth, so its probably just a refresh of the compiler base.
- rurban 9y agoThere are a couple of compiler backends. The traditional Berkeley UPC to C translator is based on the Open64 compiler, then there are also integrated translators into GCC (this one), clang, and many others. The generated C code can be further compiled with the system compiler, but with the integrated systems this is not needed.
- yablak 9y agoSome context would have been nice. UPC is made for massively parallel systems (supercomputers, etc): http://upc.lbl.gov/ http://upc.lbl.gov/
- perturbation 9y agoI would like more info on this as well, it kind of looks like C + built-in MPI.
- pletnes 9y agoThat about sums it up. Coarray fortran is a «competitor» that seems a lot easier to use.
- greglindahl 9y agoCoarray Fortran is part of the Fortran 2008 standard, so support for it is very widespread.
- thriftwy 9y agoNo Arm arch? Where can one find Power these days?
- kev009 9y agoHPC.. POWER is usually 2 years ahead of Intel in most desirable metrics (IPC, SMT, cache size, memory bandwidth, I/O bandwidth, coherent expansion bus). Now that intel is on a 3 year cycle too, there wont be any gap years.. it will probably dominate HPC for a long time.
- xxpor 9y agoWhitebox network gear. Here's some common CPUs: https://en.wikipedia.org/wiki/QorIQ#P_Series https://en.wikipedia.org/wiki/QorIQ#P_Series
- jcranmer 9y agoUnified Parallel C is definitely oriented towards supercomputer markets, where ARM is not a major player and never has been. Supercomputers used to be heavily based on POWER, MIPS, and Sparc, but around 2003 or so, x86 dominated the market. According to TOP 500, something like 80+% of supercomputers are running Intel processors (not even AMD is really competitive anymore), with POWER making up most of the non-x86 crowd (there's a handful of Sparcs running around, plus some Chinese home-grown architectures). Something else that's happened in the past 6 years or so has been the rise of NVidia boards to get high TFLOPS counts. If I look at the mailing lists, it seems interest in UPC drops off somewhere around 2011-2012, and I don't think it's a coincidence that the rise of GPGPU in HPC applications has something to do with it.
- exikyut 9y ago> plus some Chinese home-grown architectures I've heard tidbits of info about the existence of these. What are some relevant search keywords I could start with?
- Posibyte 9y agoI started with the Wikipedia article on Chinese Supercomputing [1] but working from there, two more interesting ones are the SW26010 [2] and the Loongson [3] [1]: https://en.wikipedia.org/wiki/Supercomputing_in_China https://en.wikipedia.org/wiki/Supercomputing_in_China [2]: https://en.wikipedia.org/wiki/SW26010 https://en.wikipedia.org/wiki/SW26010 [3]: https://en.wikipedia.org/wiki/Loongson https://en.wikipedia.org/wiki/Loongson
- xiii1408 9y agoUPC++ follows the same paradigm but is much easier to use and has better documentation. https://bitbucket.org/berkeleylab/upcxx/wiki/Home https://bitbucket.org/berkeleylab/upcxx/wiki/Home
- lazyjones 9y agoBoth only have LaTeX/PDF documentation like it's 1985? Modern documentation for effective use during programming looks like this: https://golang.org/ref/spec#Labeled_statements https://golang.org/ref/spec#Labeled_statements https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/new https://docs.microsoft.com/en-us/dotnet/csharp/language-refe... https://docs.djangoproject.com/en/1.11/ref/models/fields/ https://docs.djangoproject.com/en/1.11/ref/models/fields/ etc. ...
- loeg 9y agoCheck out the sweet 1995-era website: http://upc.gwu.edu/ http://upc.gwu.edu/ Not a project that seems to be into recent trends.
- hossbeast 9y agoMany important and useful projects only have man pages. It's the content and organization that makes good documentation, not the presentation.
- chungy 9y agoDespite the name, this doesn't appear to actually be a GNU project. Neither the web site links to gnu.org nor the FSF, and it doesn't show up in GNU's list of their own software projects: https://www.gnu.org/software/software.html https://www.gnu.org/software/software.html It's cool enough to extend GCC like this, but they really oughtn't make it seem like an official project.
- partycoder 9y agoAnd there's the copyright notice in the footer as well.
- mintplant 9y agohttps://gcc.gnu.org/projects/gupc.html https://gcc.gnu.org/projects/gupc.html From the sidebar link "GNU UPC at gnu.org" on gccupc.org.