Use of Language Features

From HPCBugBase

(Redirected from Parallel Language Features)
Jump to: navigation, search

HPCBugBase Menu

Submit feedback


Overview


Index


Index by Languages

Contents

[edit] Defect Type Description

This defect type covers various errors in the use of language features of parallel programming models. When using library functions, directives keywords for parallelism in the code, developers must be aware of the usage rules they must follow to write a "correct" program. For novices, understanding small details of such rules tends to be difficult. Typical simple mistakes in understanding that are common for novices include:

  • Forgotten mandatory function calls
  • Inappropriate choice of functions
  • Inconsistent size, parameter types between message send and recv,
  • Forgotten mandatory checking of the function return value

Since the majority of the HPC programming models used today are quite large in size, it is possible that even experienced developers do not know all usage rules.

Some usage errors immediately lead to compile errors or failures at run-time. Other errors surface only under specific conditions, in which case the defect is harder to detect.

[edit] Entries

Defect descriptions:

[edit] Advice

  • Lack of experience with the syntax and semantics of new language features is the main cause
  • Check unfamiliar language features carefully. Try to understand a few, basic language features thoroughly, as advanced features are not necessarily used.

[edit] Symptom

  • Compile-type error (easy to fix)
  • Some defects may surface only under specific conditions

(number of processors, value of input, hardware/software environment...)


[edit] Other Findings and Contexts

As an example, MPI 1.1 consists of approximately 100 functions, while MPI 2.0 consists of over 200 functions. Since most HPC code only a small subset is used, it is expected to be painful for developers to read through the entire language specification to understand the usage rules for the functions relevant to their project.

There is a discussion about whether this defect type is orthogonal to other defect types. It is possible that an erroneous use of parallel language features leads to synchronization defects, performance degradation, etc.

Pages referring to this entry: Main Page Defect Classification Scheme (Mar 06) Parallel Language Features (redirect page) Pages referring to this entry: Defect Classification Scheme (Jan 06)  Overview of HPC Defect Patterns Modular programming in HPC applications Defect Classification Scheme (Mar 07) 

Personal tools