Options
Algorithmic and structural programming in a simple language for parallel computing
Publikationstyp
Conference Paper
Date Issued
2025-10-01
Sprache
English
First published in
Number in series
16185
Start Page
59
End Page
75
Citation
18th International Conference on Parallel Computing Technologies, PaCT 2025
Contribution to Conference
Publisher DOI
Scopus ID
Publisher
Springer
ISBN of container
9783032067500
This study defines a small and easy-to-use language for parallel computational applications on standard and embedded hardware that brings in several original concepts and a prototypical programming environment. Embedded systems often operate on multiple processors integrated at the chip or circuit board levels and may use PC nodes for user interfacing and as computational resources. The language, π-Nets, provides SIMD and thread parallelism from scratch, and supports the distribution of threads to application-specific networks of processors structurally defined through net lists. Embedded signal processing uses fixed and block floating point data besides the common integer and floating point numbers, other applications have high precision requirements. The language supports all of these by treating the encoding of numbers chosen for some algorithm as a machine-oriented parameter for its execution, and defines algorithms for a single abstract base type of real numbers only. This greatly simplifies the type system and gives room for a few mathematical extras such as automatic differentiation or the automated handling of coordinate changes to geometric structures. While algorithms are defined in a functional style w/o using variables, threads can use them and then implement real automata. The resulting automata network is also described structurally. The language can also be used as a hardware design language (HDL) for the FPGA as a configurable hardware platform for embedded systems. Its cyclic processes then compile to parallel circuits, e.g. adders and multipliers for non-standard number codes. The current compiler environment receives program input from a standard program editor or from a text processor to dispose of special characters, and has been designed to support the GPU, multiple PC cores, and neural networks accelerator hardware also found in recent single chip systems along with an FPGA and standard processors.
Subjects
abstract processors
automata networks
coordinates
differential forms
FPGA infrastructure
pipelined circuit design
precision control
real number type
SIMD parallelism
DDC Class
005: Computer Programming, Programs, Data and Security