Newsgroups: comp.parallel,comp.sys.super,comp.lang.fortran,comp.arch,or.general,pnw.general,intel.general,tek.general,sqnt-gen
From: "Linda M. Pease" <lpease@admin.ogi.edu>
Subject: OGI High Performance Computing short courses
Organization: Oregon Graduate Institute of Science & Technology
Date: Wed, 21 Jun 1995 15:27:42 GMT
Message-ID: <lpease-2106950831040001@atalk04.admin.ogi.edu>

Oregon Graduate Institute of Science & Technology, Office of Continuing
Education, offers an intensive short course on High Performance Computing
at the OGI campus near Portland, Oregon, July 24-28, 1995.


COMPILER ANALYSIS AND OPTIMIZATION     M-F, July 24-28, 1995, 8:30am-5pm

Course fee: $1,695 (includes course instruction, materials, break
refreshments and lunches, Monday night reception and Thursday night
dinner)

Course Instructor: Michael Wolfe
      
      Many classical code analysis and optimization algorithms have been
developed over the past 35 years.  While these are firmly based on a solid
theoretical foundation, many optimizations have become significantly more
complex due to aggressive processor architectures.  For instance, register
allocation and instruction scheduling are complicated because pipeline and
memory latencies, functional unit and datapath reservations, and explicit
delayed operations must be taken into account.  Moreover, with the
parallelism inherent in current processor designs, code generation options
can be used that would not make sense on a simple sequential processor.

Course Outline

      Front end, optimizer, code generation, peephole 
      optimizations, basic blocks, control flow graph, expression 
      trees or DAGs.

      Logic, sets, relations, lattices, monotonicity, graphs, trees,
      graph algorithms, strongly connected components,dominators.

      Monotone data-flow framework, iterative solution, live
      variables, reaching definitions, dominators, syntax-based            
      analysis, interval analysis, slotwise analysis, sparse
      evaluation graphs. 

      Dominator trees, fast dominator algorithm, loop analysis.

      Within a basic block, across basic blocks, constant 
      propagation, availability, redundancy elimination, value
      numbering, range-check optimizations.

      Efficient use-def chains, constant propagation.

      Code floating, partial redundancy elimination, strength
      reduction, linear test replacement, unswitching.

      Leaf procedures, tail recursion, tail calls, constant 
      propagation, modify/reference analysis, parameter              
      alias analysis, call graph construction.

      Loop rotation, procedure integration, loop unrolling,
      basic block cloning.

      Optimality, local allocation across basic blocks.

      Coloring algorithms, spill heuristics, coalescing, live           
      range splitting.

      Hierarchical allocation, allocation in loops, cliques.

      Basic block scheduling, filling delay slots, scheduling
      across basic blocks, code replication, control dependence, 
      speculative scheduling, conditional execution, interaction 
      with register allocation.

      Software pipelining, loop unrolling.      

      Tail merging, jump optimizations, branch prediction, 
      instruction placement.
 
      Currency of values, reporting values and position.


  About the Instructor
      Michael Wolfe, Ph.D., is an associate professor of Computer Science
and Engineering at Oregon Graduate Institute of Science & Technology.  His
research interests are compiler optimizations for high performance
computer systems, programming languages and computer architecture.  Dr.
Wolfe received his Ph.D. from the University of Illinois in 1982, where he
was one of the key developers in the Parafrase project.  He co-founded
Kuck and Associates, Inc., a leading developer of commercial parallelizing
compiler tools, and was vice president until 1988, when he joined OGI.  He
has served on numerous conference program committees, including POPL988,
DM9C991, Supercomputing992, PPoPP993, and PLDI994, and is program chair
for ICS995 in Barcelona.  He has been invited to give lectures in the
United States, Europe and Japan.  His research group at OGI is exploring
the effectiveness and efficiency of novel compiler optimization
techniques.


For a complete course brochure contact:
Linda M. Pease, Director
Office of Continuing Education
Oregon Graduate Institute of Science & Technology
PO Box 91000
Portland, OR  97291-1000
+1-503-690-1259
+1-503-690-1686 (fax)
e-mail: continuinged@admin.ogi.edu
WWW home page: http://www.ogi.edu


