Skip to main content Site map
HomeNews and blogs hub

New guide: Hardware-Conscious Programming

Bookmark this page Bookmarked

New guide: Hardware-Conscious Programming

Author(s)
Selina Aragon

Selina Aragon

Associate Director of Operations

Posted on 12 August 2026

Estimated read time: 1 min
Sections in this article
Share on blog/article:
LinkedIn

New guide: Hardware-Conscious Programming

Hardware-Conscious Programming: Designing Sustainable Code for the Present and the Future

As part of our series on Green Computing, we are pleased to announce a new guide: Hardware-Conscious Programming: Designing Sustainable Code for the Present and the Future, written by SSI Fellow Sadie Bartholomew and reviewed by Eleanor Broadway.

Hardware-conscious programming means designing software with an understanding of the hardware on which it will run. While programmers may have limited control over the available hardware, features such as processor architecture, memory, storage and network connections can substantially affect how efficiently software performs.

This becomes particularly important when research software is run on high-performance computing systems or compute clusters. Bottlenecks that may not be noticeable when running code locally, such as slow memory access, unnecessary data movement or communication between nodes, can dominate execution time at a larger scale.

The guide is aimed at researchers, Research Software Engineers and other software and data professionals who write research-oriented code, particularly for HPC systems and compute clusters. It explains why considering hardware from the beginning of software development can improve performance, portability, scalability and predictability.

The guide introduces a practical three-step approach: identify the programme’s goals and likely performance bottlenecks; understand the relevant features and constraints of the target hardware; and use this information to create an implementation plan.

By reducing unnecessary computation, data movement and idle time, hardware-conscious programming can shorten time-to-solution and improve energy efficiency. Designing with hardware in mind from the outset can also reduce the need for extensive changes when software is moved to a new system or scaled to address larger and more complex problems.

After reading the guide, readers should be able to identify the hardware features most relevant to their software, anticipate likely bottlenecks and develop an implementation plan that supports efficient and sustainable execution.

Read the guide
Back to Top Button Back to top