User Tools

Site Tools


spo600:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
spo600:start [2025/03/07 07:01] – [Week 8 - Class II] chrisspo600:start [2025/03/28 13:20] (current) chris
Line 14: Line 14:
 |Week 7|February 17|[[#Week 7 - Class I|Project Stage 1]]|[[#Week 7 - Class II|Indirect Functions (IFUNC), Function Multi Versioning (FMV), Automatic Function Multi Versioning (AFMV)]]|[[#Week 7 Deliverables|Project bogging]]| |Week 7|February 17|[[#Week 7 - Class I|Project Stage 1]]|[[#Week 7 - Class II|Indirect Functions (IFUNC), Function Multi Versioning (FMV), Automatic Function Multi Versioning (AFMV)]]|[[#Week 7 Deliverables|Project bogging]]|
 |Reading Week|February 24|Study Week||| |Reading Week|February 24|Study Week|||
-|Week 8|March 3|[[#Week 8 - Class I|Project Discussion; Single Instructioni Multiple Data (SIMD)]]|[[#Week 8 - Class II|Single Instruction Multiple Data (SIMD) and Scalable Vector Extensions (SVE and SVE2)]]|[[#Week 8 Deliverables|Project Stage 1, Blog posts group 2]]| +|Week 8|March 3|[[#Week 8 - Class I|Project Discussion; Single Instructioni Multiple Data (SIMD)]]|[[#Week 8 - Class II|Single Instruction Multiple Data (SIMD) and Scalable Vector Extensions (SVE and SVE2)]]\\ **Part Async**|[[#Week 8 Deliverables|Project Stage 1, Blog posts group 2]]| 
-|Week 9|March 10|Project Discussion|Profiling and Benchmarking|Project blogging| +|Week 9|March 10|[[#Week 9 - Class I|Project Stage II]]|[[#Week 9 - Class II|Project Stage I results]]|[[#Weel 9 Deliverables|Project blogging]]
-|Week 10|March 17|Project Discussion|Algorithm Selection|Project blogging| +|Week 10|March 17|[[#Week 10 - Class I|Project Discussion]]|[[#Week 10 - Class II|Benchmarking & Profiling]]\\ **Part Async**|[[#Week 10 Deliverables|Project blogging]]
-|Week 11|March 24|Project Discussion|Paged Memory|Project stage 2, Blog posts group 3+|Week 11|March 24|[[#Week 11 - Class I|Paged Memory Systems]]|[[#Week 11 - Class II|Advanced Memory Concepts]]\\ **Part Async**|[[#Week 11 Deliverables|Project blogging]]
-|Week 12|March 31|Project Discussion|Advanced Memory Concepts|Project blogging|+|Week 12|March 31|Project Discussion|Advanced Memory Concepts|Project Stage 2, Blog posts group 3|
 |Week 13|April 7|Project Discussion|Project Recommendations|Project blogging| |Week 13|April 7|Project Discussion|Project Recommendations|Project blogging|
 |Week 14|April 14|Course Wrap-Up|//No class//|Project Stage 3, Blog posts group 4| |Week 14|April 14|Course Wrap-Up|//No class//|Project Stage 3, Blog posts group 4|
Line 413: Line 413:
  
 {{vimeo>1063430031?full}} {{vimeo>1063430031?full}}
 +
 +=== SIMD Examples ===
 +
 +The sound volume scaling examples mentioned in the video may be found in the file ''/public/spo600-volume-examples.tgz'' on either of the [[SPO600 Servers]].
  
 ==== Week 8 - Class II ==== ==== Week 8 - Class II ====
Line 418: Line 422:
 === Video === === Video ===
  
-  * Video pending+{{vimeo>1063482268?full}}
  
 === SVE/SVE2 Examples === === SVE/SVE2 Examples ===
Line 432: Line 436:
  
   * Complete your project stage 1, and blog posts group 2, by Sunday night (March 9 at 11:59 pm).   * Complete your project stage 1, and blog posts group 2, by Sunday night (March 9 at 11:59 pm).
 +
 +===== Week 9 =====
 +
 +==== Week 9 - Class I ====
 +
 +=== Video ===
 +{{vimeo>1066891620?full}}
 +
 +==== Week 9 - Class II ====
 +
 +=== Project Stage II ===
 +  * Refer to your email for Project Stage I feedback.
 +  * See the [[2025_winter_project#project_stage_2clone-pruning_analysis_pass|Project Page]] for Stage II details.
 +
 +==== Week 9 Deliverables ====
 +  * Start on your [[2025_winter_project#project_stage_2clone-pruning_analysis_pass|Project Stage II]] and blog about your work.
 +
 +===== Week 10 =====
 +
 +==== Week 10 - Class I ====
 +
 +=== Video ===
 +{{vimeo>1067796062?full}}
 +
 +=== Code Sample ===
 +
 +Here is some of the code that was discussed in the lecture; this is the ''execute()'' method from a pass:
 +
 +<code c++>
 +unsigned int
 +pass_ctyler::execute (function *fun)
 +  {
 +
 +    basic_block bb;
 +
 +    if (dump_file) {
 +
 +
 +      fprintf(dump_file, "--------------------------------------------------------------------\n");
 +      fprintf(dump_file, "Function: %s\n", IDENTIFIER_POINTER(DECL_NAME(fun->decl)) );
 +      fprintf(dump_file, "--------------------------------------------------------------------\n");
 +
 +      FOR_EACH_BB_FN(bb, fun) {
 +          for (gimple_stmt_iterator gsi = gsi_start_bb(bb); !gsi_end_p(gsi); gsi_next(&gsi)) {
 +              gimple *stmt = gsi_stmt(gsi);
 +
 +              print_gimple_stmt(dump_file, stmt, 0, TDF_NONE);
 +
 +              fprintf(dump_file, "\n  Gimple code:       %d\n", gimple_code(stmt) );
 +              fprintf(dump_file, Gimple code name:  %s\n", gimple_code_name[gimple_code(stmt)] );
 +
 +              fprintf(dump_file, "--------------------------------------------------------------------\n");
 +
 +          }
 +
 +          fprintf (dump_file, "\n\n#### End ctyler diagnostics, start regular dump of current gimple ####\n\n\n");
 +      }
 +
 +    }
 +
 +    return 0;
 +
 +  }
 +</code>
 +
 +==== Week 10 - Class II =====
 +
 +==== Video ====
 +
 +{{vimeo>1068056744?full}}
 +
 +==== Week 10 Deliverables ====
 +  * Work on your [[2025_winter_project#project_stage_2clone-pruning_analysis_pass|Project Stage II]] and blog about your work.
 +
 +
 +===== Week 11 =====
 +
 +==== Week 11 - Class I ====
 +
 +=== Video ===
 +{{vimeo>1069809933?full}}
 +
 +==== Week 11 - Class II ====
 +
 +=== Video ===
 +{{vimeo>1070319430?full}}
 +
 +==== Week 11 Deliverables ====
 +  * Continue your project work (stage II) and blog as you go.
  
 <!-- <!--
spo600/start.1741330880.txt.gz · Last modified: 2025/03/07 07:01 by chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki