9 stdenv.mkDerivation rec {
10 pname = "berkeley_upc";
11 version = "2020.12.0";
14 url = "http://upc.lbl.gov/download/release/berkeley_upc-${version}.tar.gz";
15 hash = "sha256-JdpFORlXHpCQE+TivoQQnjQlxQN7C8BNfHvTOSwXbYQ=";
22 # Used during the configure phase
23 ENVCMD = "${coreutils}/bin/env";
25 buildInputs = [ perl ];
28 description = "Compiler for the Berkely Unified Parallel C language";
30 Unified Parallel C (UPC) is an extension of the C programming language
31 designed for high performance computing on large-scale parallel
32 machines.The language provides a uniform programming model for both
33 shared and distributed memory hardware. The programmer is presented with
34 a single shared, partitioned address space, where variables may be
35 directly read and written by any processor, but each variable is
36 physically associated with a single processor. UPC uses a Single Program
37 Multiple Data (SPMD) model of computation in which the amount of
38 parallelism is fixed at program startup time, typically with a single
39 thread of execution per processor.
41 homepage = "https://upc.lbl.gov/";
42 license = licenses.mit;
43 platforms = platforms.linux;
44 maintainers = with maintainers; [ zimbatm ];