• Lars Jensen
  • Chris Oliver Paulsen
  • Julian Jørgensen Teule
4. term, Software, Master (Master Programme)
The ever-increasing processing power of computers is evolving towards horizontal scaling. While it was normal for consumer class CPUs to be quad cores just ten years ago, current genera-tions of CPUs have up to 24 cores in them. This trend in computer hardware leads to the evergrowing need to properly parallelize workloads to efficiently utilize both current and also future hardware. Futhark remedies this problem by providing a comprehensive abstraction layer to the parallel hardware. It does this by providing the programmer with the data-parallel language constructs to express concurrent operations. To analyze the concurrent nature of this language, a translation into a π-calculus is proposed, due to its natural form of expressing concurrency. This report covers the design and implementation of two languages, a simple version of Futhark (ButF) and an extended π-calculus (Eπ). After this, a simplification of primitives is provided to allow for a simpler translation. This translation is then shown to be correct in regard to an operational correspondence.
Publication date15 Jun 2023
Number of pages91
ID: 534917357