Università degli Studi di Siena
Department of Information Engineering and Mathematics (DIISM)
Course of
High Performance Computer Architecture 2018-2019
 
 
 Latest News (home)
 Registration
 Lessons
(restricted access)
 Errata slides
 Tools for lab
 Syllabus
 Office Hours
 Mid-terms
 Projects
 Group registration
(restricted access)
 Exam Rules
 Feedback
 RELATED LINKS
 BEST PROJECTS
bgcolor="#FFFFFF" width="840" height="3900" border="0" cellpadding="0" cellspacing="0" valign="top" align="left">
 FIRST PART SLIDES (THEORY) IN A SINGLE FILE
 SECOND PART SLIDES (THEORY) IN A SINGLE FILE

COURSE SCHEDULE (TENTATIVE): THE FOLLOWING DATES ARE INDICATIVE AND RELATED TO THE HYPOTHETIC REGULAR PROGRESS OF THE LESSONS. NOTE (THIS HAS BEEN ASKED TO ME ...) THE NUMBERING OF LESSON REFERS ONLY TO THE TOPIC, IT DOES NOT IMPLY BY ANY MEANS THAT THE LESSONS WILL BE GIVEN IN A CERTAIN ORDER.

NOTE: the actual schedule will be updated weekly.

BIBLIOGRAPHIC REFERENCES:
  • M. Dubois, M. Annavaram, P. Stenstrom, "Parallel Computer Organization and Design", Cambridge University Press, 2012, ISBN: 978-0-521-88675-8

 LESSON #01 of 02-Oct-2018 (14:00-18:00)
Introduction, Evaluating Computers
Dubois Chap. 1,3.3
(Hennessy-Patterson-4 - 2.1,2.2)
(Hennessy-Patterson-5 - 3.1,3.2)
 LESSON #02 of 03-Oct-2018 (11:00-12:00)
Dynamic Instruction Scheduling
Dubois Chap. 3.4,3.4.1
(Hennessy-Patterson-4 - 2.4,2.5)
(Hennessy-Patterson-5 - 3.4,3.5)
  • An Efficient Algorithm for Exploiting Multiple Arithmetic Units
  • tomasulo.c
  •  PRACTICING/LAB #01 of 03-Oct-2018 (01:00-02:00)
    Dynamic Scheduling exercize.
  • Exercize from a previous test (23/6/2005).
  •  LESSON #03 of 09-Oct-2018 (14:00-16:00)
    Branch Prediction: speculation of branch condition and branch target, BPRED, BTB.
    Dubois - 3.3.4,3.4.3
    (Hennessy-Patterson-4 - 2.3)
    (Hennessy-Patterson-5 - 3.3)
  • Paper [Yeh, Patt - 1992]
  • Paper [Nair - 1995]
  • Paper [Young - 1995]
  •  LESSON #04 of 09-Oct-2018 (02:00-03:00)
    Predictor types, Bimodal, BHSR, BHT, PHT, 2-level adaptive, GAg, PAg, PAs. Other predictors (gshare, gselect, tournament).
  • Paper [McFarling - 1993]
  •  PRACTICING/LAB #90 of 09-Oct-2018 (03:00-04:00)
    Introduction to Linux (PART A)
     PRACTICING/LAB #90 of 10-Oct-2018 (11:00-13:00)
    Introduction to Linux (PART B)
     LESSON #05 of 16-Oct-2018 (14:00-16:00)
    Introduction to Superscalar Processors: general scheme and Renaming.
    Dubois 3.3.3,3.4.6(Hennessy-Patterson-4 - 2.6-2.9)
    (Hennessy-Patterson-5 - 3.6-3.10)
     LESSON #06 of 16-Oct-2018 (02:00-03:00)
    Superscalar execution example: Re-Order Buffer and Instruction Window. Case studies: MIPS, Alpha, AMD, Intel, ARM.
  • Dubois 3.4.4,3.4.5,3.4.7,3.4.8,3.4.9
  • detailed output of the example analyzed during the lesson.
  •  PRACTICING/LAB #02 of 16-Oct-2018 (03:00-04:00)
    Using the Superscalar simulator FREESS
  • Educational Simulator FreeSs
  • Exam of 22/06/2015 (exercize No.1) and solution and detailed output.
  •  LESSON #08 of 17-Oct-2018 (11:00-13:00)
    Software methods to extract Instruction Level Parallelsim.
  • Animated slide for software pipelining example.
  • Exercize #1 of the Exam of 30/06/2008 and solution
  • Dubois 3.3.5,3.5,3.5.1-5 (see also Hennessy-Patterson-4 2.7-2.8)
  •  PRACTICING/LAB #03 of 23-Oct-2018 (14:00-18:00)
    Exercizes on SUPERSCALAR AND VLIW processors.
  • detailed output of the example analyzed during the lesson (SS-EX1.pdf)
  •  PRACTICING/LAB #04 of 24-Oct-2018 (11:00-13:00)
    Exercizes on Dynamic Scheduling and various excersizes.
  • Exam of 07/07/2009 and solution
  • Exam of 16/01/2012 (exercize 1)
  •  PRACTICING/LAB #05 of 30-Oct-2018 (14:00-18:00)
    Exercizes on branch prediction and verious excercizes.
  • Exam of 05/07/2006 and solution
  • Exam of 07/11/2014 and solution
  •  31-Oct-2018 - MIDTERM TEST (11:00-13:00)

     LESSON #11 of 06-Nov-2018 (14:00-16:00)
    Introduction to multiprocessor systems, Flynn's taxonomy, UMA, NUMA, COMA systems, programming models
    Dubois 5.1,5.4 (see also Culler-Singh, Cap.1).
     LESSON #12 of 06-Nov-2018 (02:00-04:00)
    Coherence Protocols: Write Update, Write Invalidate, Hybrid. Snoopy based protocols: the MESI and DRAGON protocols
    Dubois 5.4,5.5,7.3 (see also Culler-Singh, Cap.5).
     PRACTICING/LAB #09 of 07-Nov-2018 (11:00-13:00)
    Exercizes on Coherency from past exams.
  • Exercize on cache coherence 20/01/2010;
  • spreadsheet for this excercize
  •  LESSON #14 of 13-Nov-2018 (14:00-15:00)
    Memory Consistency Models: Sequential Consistency and Relaxed Consistency
    Dubois 7.4,7.5,7.6,7.7 (v. Culler-Singh, cap. 5.2, 5.5)
  • Litmus Tests for checking Memory Models
  •  LESSON #15 of 13-Nov-2018 (01:00-02:00)
    Introduction to Parallel Programming
     LESSON #16 of 13-Nov-2018 (02:00-04:00)
    Parallelsim and Performance
     PRACTICING/LAB #11 of 14-Nov-2018 (11:00-13:00)
    Experimenting several programming models: Pthreads, OpenMP, TBB, Cilk
  • Source code of the examples in Pthreads, OpenMP, TBB, Cilk
  • Using CILKTOOLS (cilkview,cilkscreen)
  •  LESSON #21 of 20-Nov-2018 (14:00-16:00)
    Introduction to CUDA parallel programming model
  • Bill Dally @ SC-2010
  •  LESSON #22 of 20-Nov-2018 (02:00-04:00)
    CUDA Threads, Atomics, and Memory
     PRACTICING/LAB #12 of 21-Nov-2018 (11:00-13:00)
     LESSON #60 of 27-Nov-2018 (14:00-16:00)
    Introduction to FPGAs
     PRACTICING/LAB #07 of 27-Nov-2018 (02:00-04:00)
    Introduction to FPGA programming with Xilinx Vivado HLS (PART A)
     PRACTICING/LAB #07 of 28-Nov-2018 (11:00-13:00)
    Introduction to FPGA programming with Xilinx Vivado HLS (PART B)
     LESSON #61 of 04-Dec-2018 (14:00-16:00)
    Introduction to a dataflow parallel programming model
    the support material will be provided during the seminar
     PRACTICING/LAB #09 of 04-Dec-2018 (02:00-04:00)
    Programming examples of dataflow programming on MAXELER platform (PART A)
  • MAXELER website
  •  PRACTICING/LAB #09 of 05-Dec-2018 (11:00-13:00)
    Programming examples of dataflow programming on MAXELER platform (PART B)
     LESSON #30 of 11-Dec-2018 (14:00-15:00)
    Clusters
     LESSON #40 of 11-Dec-2018 (01:00-02:00)
    Introduction to MPI
    Dubois 5.2.2, 5.3
     LESSON #50 of 11-Dec-2018 (02:00-03:00)
    Xeon Phi
     PRACTICING/LAB #17 of 11-Dec-2018 (03:00-04:00)
    Using MPI
    HELLOWORLD MPI CODE
    TESTMPI CODE
  • Exam of 18/12/2015 (exercize No.1) and solution
  •  PRACTICING/LAB #18 of 12-Dec-2018 (11:00-12:00)
    Programming examples of Intel Xeon Phi platform
     PRACTICING/LAB #12 of 12-Dec-2018 (01:00-02:00)
    Various exercizes from previous exams.
  • Exam of 16/01/2015 (exercize No.1) and solution
  •  PRACTICING/LAB #19 of 18-Dec-2018 (14:00-18:00)
    Various exercizes from previous exams.
  • Exam of 22/06/2015 (exercize No.1) and solution
  •  19-Dec-2018 - FINAL TEST (11:00-13:00)

     from 25-Dec-2018 to 02-Jan-2019: No Lesson
    VACANZA/PONTE





    To visualize the content of the above presentations in Acrobat format (.pdf) you can use Acrobat Reader, freely realesed by Adobe (Download Acrobat Reader)