Difference: DragonStar08 (1 vs. 3)

Revision 32008-04-23 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

2008年龙星计划课程 (2008 Dragon Star Lecture)

软件局域性和并行性:对复杂时空的计算解析与优化

Line: 30 to 29
 
    • other select topics: code tuning, blended analysis, fractal analysis, telescoping languages, array languages
  • The computation dimension program transformation for temporal locality and parallelism, advanced algorithms
    • compiler locality transformation: unroll-and-jam, loop fusion, high-dimensional optimization, transitive closures, space-filling curves, computation regrouping, limit of locality
Changed:
<
<
    • parallelization: dependence theory and vectorization, integer set equations, multi-partitioning, partitioning with replication, OpenMP, streaming languages
>
>
    • parallelization: dependence theory and vectorization, integer set equations, multi-partitioning, partitioning with replication, OpenMP, streaming languages
 
    • hierarchical or cache oblivious computation, self-organizing data structures
    • program tuning tools
  • The data dimension program transformation for spatial locality, data placement and prefetching
Line: 49 to 48
  A significant portion of the material will be drawn from work done at the University of Rochester and Rice University. There will be pre- and post-lecture questions as homework and question-and-answer sessions. The instructor may make research tools available for students to analyze and improve programs of their choice. The material will be in English. Most lecturing is likely in Chinese. The instructor strives not to mix words from the two languages.
Changed:
<
<

Instructor

>
>

About the Instructor

  Chen Ding is an Associate Professor in the Computer Science Department at the University of Rochester, Rochester, New York, USA. His

Revision 22008-04-21 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

2008年龙星计划课程 (2008 Dragon Star Lecture)

软件局域性和并行性:对复杂时空的计算解析与优化

Line: 7 to 7
 
Added:
>
>
Host web site at Institute of Computing Technology, Chinese Academy of Sciences
 

Course Description and Preliminary Syllabus

This week-long course aims to introduce, inspect, and interlink a large body of research in the last decade on understanding and exploiting locality and parallelism in large-scale program executions. Specific topics include

Changed:
<
<
  • background: memory and storage hierarchy, memory bandwidth bottleneck; compilation, dependence theory and high-level program transformation; parallel computer architectures (including chip multi-processor or multi-core), cache coherency, memory consistency; interactions between parallelism and locality
  • compiler techniques: static and dynamic compiler transformations for improving program locality, parallelism, and communication, including reuse-based loop fusion, computation regrouping, data packing, structure splitting, array regrouping, cache hints, and compiler parallelization
  • theoretical models and limits: memory models, limits of temporal and spatial locality, complexity of optimization
  • computational and statistical models: whole-program locality, reference affinity, stream and stride models, program and execution phases, cache and memory sharing, communication estimation
  • programming languages: expression and implementation of parallelism, software speculative parallelization and optimistic concurrency control
  • tools: temporal and spatial locality analysis, behavior-oriented parallelization
  • advanced algorithms: self-adjusting data structures, cache oblivious algorithms, non-linear data layout, scalable synchronization
  • related concepts of locality and parallelism in hardware, operating systems, file servers, and networks
>
>
  • Introduction program behavior research: new science for old problems
    • programming languages, programs, and program execution
    • six dimensions of program behavior
    • program and machine balance in high-performance computing
    • memory bandwidth bottleneck and multi-core challenges
    • Is computer science science?

  • The input dimension whole-program behavior
    • whole-program locality
    • reuse distance measurement
    • compiler analysis
    • cross-input models for sequential and parallel code
  • The code dimension programming languages and program analysis
    • expression and implementation of parallelism; software speculative parallelization at loop, function and region levels, new abstractions; hardware thread-level speculation
    • other select topics: code tuning, blended analysis, fractal analysis, telescoping languages, array languages
  • The computation dimension program transformation for temporal locality and parallelism, advanced algorithms
    • compiler locality transformation: unroll-and-jam, loop fusion, high-dimensional optimization, transitive closures, space-filling curves, computation regrouping, limit of locality
    • parallelization: dependence theory and vectorization, integer set equations, multi-partitioning, partitioning with replication,