• IEEE.org
  • IEEE CS Standards
  • Career Center
  • About Us
  • Subscribe to Newsletter

0

IEEE
CS Logo
  • MEMBERSHIP
  • CONFERENCES
  • PUBLICATIONS
  • EDUCATION & CAREER
  • VOLUNTEER
  • ABOUT
  • Join Us
CS Logo

0

IEEE Computer Society Logo
Sign up for our newsletter
FacebookTwitterLinkedInInstagramYoutube
IEEE COMPUTER SOCIETY
About UsBoard of GovernorsNewslettersPress RoomIEEE Support CenterContact Us
COMPUTING RESOURCES
Career CenterCourses & CertificationsWebinarsPodcastsTech NewsMembership
BUSINESS SOLUTIONS
Corporate PartnershipsConference Sponsorships & ExhibitsAdvertisingRecruitingDigital Library Institutional Subscriptions
DIGITAL LIBRARY
MagazinesJournalsConference ProceedingsVideo LibraryLibrarian Resources
COMMUNITY RESOURCES
GovernanceConference OrganizersAuthorsChaptersCommunities
POLICIES
PrivacyAccessibility StatementIEEE Nondiscrimination PolicyIEEE Ethics ReportingXML Sitemap

Copyright 2025 IEEE - All rights reserved. A public charity, IEEE is the world’s largest technical professional organization dedicated to advancing technology for the benefit of humanity.

  • Home
  • /Publications
  • /Tech News
  • /Research
  • Home
  • / ...
  • /Tech News
  • /Research

Python’s Journey to Petascale: An Introduction to PyFR

By IEEE Computer Society Team on
April 10, 2023

Python at Petascale With PyFRPython at Petascale With PyFRPython is a popular high-level scripting language used in a wide range of application areas. However, its adoption in the field of high-performance computing (HPC) has been limited due to the lackluster performance of pure Python code, which is slower than analogous C code.

Nevertheless, Python is increasingly considered a first-class language for HPC due to trends in user-friendly codes, heterogeneous modern hardware, and the increasing complexity of contemporary architectures.

API Design and Error Handling in HPC Applications

In the past, HPC applications were primarily used by a small group of users, and the user experience was not a top priority. However, as HPC has become more popular, usability has become an important consideration.

In recent years, application programming interfaces (APIs) have become an essential aspect of HPC, and Python has a rich standard library that adheres to conventions, making it easier for Python developers to pick up new APIs and the interface between them. Python also has robust error-handling mechanisms that meet the requirements of error handling in API code.


Want More Tech News? Subscribe to ComputingEdge Newsletter Today!


Startup Time and GIL Concerns

Python applications have a different I/O pattern than compiled language applications when it comes to startup time. This is because they typically import dozens of modules spread out across hundreds of files, which can result in a lot of I/O. However, the availability of solid-state drives, parallel file systems, and containerization have minimized the impact of Python I/O patterns.

Python’s Global Interpreter Lock (GIL) is also famous for restricting Python applications to one thread, making it difficult for Python applications to use multicore processors. But even though the GIL has a substantive impact on several classes of Python applications, HPC codes are typically not one of them as they tend to eschew threads for mostly historical reasons.

PyFR: Python as a First-Class Language for HPC

An example of how Python is used in high-performance computing is PyFR, which is used to solve complex equations in fluid dynamics. It does this by dividing the problem into smaller parts and solving each part. PyFR uses a technique called FR, where the problem is discretized into a mesh of small elements, and each element has its own set of points called solution and flux points. The software then interpolates between these points to solve the problem.

To achieve high performance, PyFR uses specialized techniques to perform matrix multiplication and point-wise operations. PyFR can run on different hardware and be scaled up to run on multiple machines. The performance is comparable to C++ code, making PyFR an exemplar of Python in HPC.

To learn more about using Python as a first-class language for HPC applications and PyFR, download the full paper, “Python at Petascale With PyFR or: How I Learned to Stop Worrying and Love the Snake.”

LATEST NEWS
IEEE 2881: Learning Metadata Terms (LMT) Empowers Learning in the AI Age
IEEE 2881: Learning Metadata Terms (LMT) Empowers Learning in the AI Age
Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development
Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development
IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System
IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System
IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System
IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System
Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?
Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?
Get the latest news and technology trends for computing professionals with ComputingEdge
Sign up for our newsletter
Read Next

IEEE 2881: Learning Metadata Terms (LMT) Empowers Learning in the AI Age

Platform Engineering: Bridging the Developer Experience Gap in Enterprise Software Development

IEEE Std 3158.1-2025 — Verifying Trust in Data Sharing: Standard for Testing and Performance of a Trusted Data Matrix System

IEEE Std 3220.01-2025: Standard for Consensus Framework for Blockchain System

Mapping the $85B AI Processor Landscape: Global Startup Surge, Market Consolidation Coming?

AI Agentic Mesh – A Foundational Architecture for Enterprise Autonomy

IEEE O.C A.I “DEVHACK” Hackathon 2025 Winner Celebration

Broadening Participation Winners 2026