Papers for

parallel computing engineers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Topology restricts power of small efficient computer circuits

Topology inside NC$^1$

Abstract: We show that ACC$^0$ is precisely what can be computed with constant-width circuits of polynomial size and polylogarithmic genus. This extends a characterization given by Hansen, showing that planar constant-width circuits also characterize ACC$^0$. Thus polylogarithmic genus provides no additional computational power in this model. We consider other generalizations of planarity, including crossing number and thickness. We show that constant-width circuits of polynomial size and thickness two already suffice to capture all of NC$^1$.

Thu 10 SeptComputational Complexity
The gist
This work explores how the shape or 'layout' of computer circuits affects what they can compute efficiently. The authors show that certain complex circuits constrained to a limited 'width' and organized with a shape close to flat (planar or with low 'genus') can only solve problems within a specific class called ACC0. Extending this, they find that allowing slightly more complex shapes (like thickness two) enables solving a larger class called NC1. This helps us understand the limits and possibilities for designing circuits with certain physical or logical layout restrictions.
Open 2609.11822v1

Interactive debugger adds live controls for python gpu computing

Interactive Debugger for Performance Portable Python HPC Kernels

Abstract: We propose PKDB, the first interactive debugger for GPU and multithreaded low-level kernels written in Python. Python is widely used in high performance computing (HPC), with frameworks such as PyKokkos translating Python-embedded domain-specific languages to native code that runs across OpenMP-threaded CPUs and various GPUs. Yet interactive debugging support for such code is absent: developers resort to print statements, framework-specific assertions, or CPU-only execution, the last of which requires altering the program or its data and can mask device-specific bugs. PKDB enables standard interactive debugging like breakpoints, stepping, and variable inspection while preserving actual on-device execution without source modification. Beyond these fundamentals, PKDB introduces two advanced capabilities that exploit the dynamic nature of Python and PyKokkos: (i) Live code evaluation, which lets developers execute arbitrary Python expressions or entire kernels in the middle of a paused kernel without restarting the process; (ii) Kernel call site substitution, which allows an actively running kernel to be updated and reloaded on the fly, so only the kernel is recompiled and re-executed without restarting the application. Our performance evaluation on Intel, AMD, and NVIDIA CPUs, and NVIDIA and AMD GPUs shows that PKDB introduces limited overhead and is practical for everyday use while introducing critical debugging features to the Python HPC ecosystem.

Mon 7 SeptDistributed, Parallel, and Cluster Computing
The gist
Debugging high-performance, GPU-accelerated Python code is difficult because existing tools are limited or require changing the program, which can hide bugs. The authors present PKDB, an interactive debugger that works directly on GPUs and multithreaded CPUs without altering the source code. It supports usual debugging actions like breakpoints and variable checks, plus unique features like running any code while paused and updating running kernels on the fly. This lets developers find and fix problems more easily in complex Python HPC programs.
Open 2609.07912v1