Code Sample General Criteria - jimmytwei/oneAPI-samples GitHub Wiki

Samples are created for a reason

  • Samples demonstrate:​

    • A language or library feature​
    • An optimization strategy​
    • Tool usages​
  • Samples should:​

    • Illustrate DPC++ so the less non-DPC++ code the better​
    • DPC++ by default is C++17, do not enforce older variants
    • Samples should be coded using DPC++ idioms and not directly use DPCT runtime functions unless demonstrating a DPCT workflow.
    • Be short, simple, clean, beautiful, and understandable​
    • Be usable in presentations or tutorials​
    • Build on other samples, so users gain knowledge​
    • Minimize the number of concepts the user needs to learn​
    • Use real-world algorithms when possible​
  • Samples for a toolkit should represent the segment each toolkit targets

  • Sample code should be well explained through the use of comments when C++ features are used beyond the following concepts:

    • C subset of C++
    • Using Standard Libraries, such as
      • std:: iostreams​
      • std:: containers (vector, array)​
      • std:: chrono (timing)​
    • Class definitions​ - Constructors, Destructors, Methods​
    • Namespaces​
    • References​
    • Exceptions