TechPack Developers

From Education

Jump to: navigation, search

Note: This document was pulled from EAPF's shared folder on June 2, 2010, and may not accurately reflect its current state.
Note: The conversion process from Docs -> Wiki may result in some unusual formatting.


Charge for subgroup:

  1. Identify Target audience(s)
    1. Pick 3 or 4 specific instances of people we want to be addressed by this group -- for example, game console developers for the dev TechPack.
  2. Identify Capability (Tool/Knowledge) requirements for each target audience.
    1. Languages, types of parallelism, etc.
  3. Fill in examples of sources for material to fulfill requirements
    1. Existing websites, books, ACM course material, etc.

Targets


Corporate Developer - hosted applications, databased backed, transactions, web-based

- managed code - Java/C#

- C/C++

Windows/Linux

Tools -


ISV Developer - stand alone applications, client side, exe/app

- C/C++

Windows/Mac/Linux/Unix

  • Mobile
  • Game

HPC/Scientific Performance intensive

- MapReduce, Python, Fortran, C/C++, CUDA


OEM/Embedded - device drivers, software to support device processing

- C/C++, proprietary language


Capabilities

Techniques: Task parallelism, MapReduce, MPI

Languages: C/C++, GPGPU (CUDA/DirectCompute/OpenCL), Graphics (OpenGL/DirectX), Fortran, Python, Java, C#

Frameworks: TBB, GCD, Ct


Introductory Usage Exemplars:

  • Parallelism for PC game
    • data vs. task parallelism
  • Parallel web app

Audience:

Notes -


Almost half (46%) of North American developers report some involvement in multi-core processing efforts. Related emphasis fluctuates on a periodic basis, suggesting project based selection rather than a change in infrastructure approach. More than half (53%) of the developers who implement multi-threaded solutions select kernel based alternatives like Windows, Posix or Intel threading solutions. The implementation of multi-threaded or multi-core processing is complex. Only the OEM and scientific segments significantly implement customized multi-core solutions, the other segments rely on vendor provided offerings that provide comprehensive solution sets. Evans


Saturday 29th 2010


Development plan:


June 30th - Annotated bib similar to “cloud computing tech pack”

August 31st - Add links to annotated examples, e.g. OpenGL tutorials

Nov 13 SC BOF (techpack launch)

December 31st - XXX


Bike Tour #1


  1. Introduction
    1. Architecture motivation
    2. Heterogeneous architectures
    3. Concurrency Vs Parallelism
      1. Ben will explain.
  2. Parallelism Patterns
    1. Task parallelism
      1. Pull examples from motifs/dwarves
    2. Data Parallelism
    3. Pipeline Parallelism
  3. Compound Applications of Parallelism
    1. nested/hybrid
    2. Real example
  4. Programming Models
    1. C#, Java, OpenMP, CUDA/OpenCL/DirectCompute, MPI
    2. Frameworks - TBB, Ct, ConcRT, TPL, GCD
    3. Win32/POSIX threads
    4. Vector programming???
    5. Graphics API and languages - OpenGL and DirectX
    6. Functional - Haskell, Erlang, #F, OCAML
    7. Map/Reduce
  5. Parallel Algorithms
  6. Data Structures
    1. critical sections
    2. lock free implementations
  7. Dwarves/Motifs/Patterns
SC Education sites