Main Page
From HPCBugBase
HPCBugBase Menu
Submit feedback
Overview
Index
- Defect types (defect patterns)
- Specific defects (individual defects that belong to a defect type)
- Instances (code examples)
- Articles (various info)
- Templates
- Show all categories
- Show all pages
Index by Languages
Introduction
Welcome to HPCBugBase, an experience base for software defects (bugs) that are recurring in the domain of high performance computing (HPC). We are collecting "patterns" of functional bugs, performance bottlenecks, portability problems, bad practices, etc. in HPC applications through empirical study, so that you can access and share the information about them as easily as possible.
Since HPCBugBase is a Wiki, anyone interested can contribute to the content. We strongly encourage you to help us enrich the knowledge by submitting your thoughts and comments on the existing content or suggesting other type of defects which have not been covered yet. The simplest way to do that is to click on the "submit feedback" tab on the top of each page and fill out comments. Of course, you can directly edit the Wiki content from the "edit" tab if you are familiar with Wiki authoring. The experience base is under active development, and we appreciate suggestions about how to improve the system too.
Defect Types
The simplest way to access the content of HPCBugBase is to click on the list of defect types below. A tutorial for these defect types is available in the "Overview of HPC Defect Patterns". For other usage, see "How to use this experience base?".
| Type | Sub-type | Brief Definition |
| Use of Language Features | --- | Erroneous use of parallel language features |
| Space Decomposition | --- | Incorrect mapping between the problem space and the problem memory space |
| Side-effect of Parallelization (Hidden Serialization) | I/O Hotspots | Serial constructs can cause correctness and performance defects when accessed in parallel contexts. |
| Hidden Serialization in Library Functions | ||
| Synchronization | Deadlock | Incorrect/unnecessary synchronization |
| Race | ||
| Performance | Load Balancing | Performance defects in parallel contexts |
| Scheduling | ||
| Failure to Exploit Locality | ||
| Excessive Synchronization | ||
| Communication/Computation Ratio | ||
| Scalability Problems | ||
| Memory Hierarchy | ||
| Memory Management | Memory Allocation | Inadequate memory management |
| Memory Cleanup | ||
| Algorithm | --- | Logical error |
| Environment | --- | External issues, e.g., failure to use existing libraries |
| Other defect types | --- | Defects that do not fall into any of the above types |
Do you have comments on this classification? Click here to submit feedback.
About the project
HPCBugBase is developed and maintained by the Experimental Software Engineering Group (ESEG) at the University of Maryland, as part of the HPCS Development Time Working Group.


