Concurnas is a JVM programming language designed for concurrent and parallel computing. It provides an alternative concurrency model to that of threads and locks found in Java. Much of the work which inspired this concurrency model was conducted in the 1970s but largely forgotten due to chip architectures being single cored in nature.
But things changed recently, now multi-core CPUs are commonplace and developers are obliged to implement systems utilizing concurrency in order to obtain optimal performance. Furthermore, we have also recently seen GPUs take center stage for powering general-purpose parallel computing, developers have yet another tool at their disposal for solving computational problems.
In this session, a high-level overview of Concurnas, focusing on concurrency and GPU programming will first be provided. Then we shall deep dive into the inspiration for and implementation of the Concurnas concurrency model within the language, compiler, and runtime. Finally, we'll explore how GPU computing is implemented within Concurnas and how this integrates with the core concurrency model.