Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
download:sac2c [2019/09/08 09:32]
hnv re orgonised the downloads section
download:sac2c [2019/10/17 13:36] (current)
hnv extend description again, include version info
Line 1: Line 1:
 ===== 1 Compiler: the sac2c ecosystem ===== ===== 1 Compiler: the sac2c ecosystem =====
  
-Binary releases of the compiler and the standard library are provided in the following sections.+Binary releases of the compiler and the standard library are provided in the following sections. We provide two release types, major releases and weekly releases.
  
-We provide two types of distributable packagesstable releases and bleeding-edge releases (which ​we call //weeklies//)In both types, ​we provide a **basic** and a **full** package. In order to function, the basic package needs a system C compiler (GCC or MacOS Clang) and standard library, and pthreads. The full package additionally needs HWLOC and CUDA.+<callout type="​primary"​ icon="​true">​ 
 +=== Which release type should I use? === 
 +At the moment, we suggest using one of the //weekly// release packages as these include some of the latest featuresThese packages only differ from our stable release packages in that we do less testing before releasing them. 
 +</​callout>​
  
-//For normal usage, the basic variant is sufficient to try out all of the features ​of the Single Assignment C language.//+=== Package Variants === 
 + 
 +We provide two types of packages variants, **basic** and  **full**. 
 + 
 +<​HTML>​ 
 +<​dl>​ 
 +  <​dt><​b>​Basic package</b></dt> 
 +    <​dd>&​mdash;​ package excludes special featureslike the GPU backend or advanced multi-threading scheduling.</​dd>​ 
 +    <​dd>&​mdash;​ makes use of minimal external dependencies:​ <​em>​gcc,​ libc, uuid-lib</​em>​.</​dd>​ 
 +  <​dt><​b>​Full package</​b></​dt>​ 
 +    <​dd>&​mdash;​ package includes GPU backend and advanced multi-threading scheduling.</​dd>​ 
 +    <​dd>&​mdash;​ more external dependencies:​ <​em>​gcc,​ libc, uuid-lib, hwloc, cuda<​em>​*</​em></​em></​dd>​ 
 +    <dd>* CUDA must be installed as per the recommended guidelines ​of the distribution. Our packages are built using <a href="​https://​hub.docker.com/​r/​nvidia/​cuda">​docker containers</​a>​ provided by NVIDIA, look there for their installation procedure.</​dd>​ 
 +</​dl>​ 
 +</​HTML>​ 
 + 
 +//We use a CI cluster to build these packages using configurations defined in our [[https://​www.macs.hw.ac.uk/​gitlab/​sac-group/​build-sac-pkgs|package build repo]].//
  
 <callout type="​primary"​ icon="​true">​ <callout type="​primary"​ icon="​true">​
-=== Which package ​should I use? === +=== Which variant ​should I use? === 
-At the momentwe suggest using one of the //weekly// packages as these include some of the latest ​features. These packages only differ from our stable release packages in that we do less testing before releasing them.+For normal usage, the **basic** variant is sufficient to try out all of the features ​of the Single Assignment C language.
 </​callout>​ </​callout>​
 +
 +=== Version Number ===
 +
 +We use semantic versioning, but additionally store the commit count (since the last version change) and the release number. Using ''​1.3.2-256-1''​ as an example, ''​1.3.2''​ is the version number which has ''​256''​ new commits on top and has been packages/​release only once (''​1''​).
 +
 +//The version number may not match with what is in the filename of the package.//
  
 ==== Weeklies --- Bleeding-Edge Release ==== ==== Weeklies --- Bleeding-Edge Release ====