User Tools

Site Tools


spo600:2024_winter_project

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:2024_winter_project [2024/03/26 13:48] chrisspo600:2024_winter_project [2024/04/16 18:10] (current) – external edit 127.0.0.1
Line 18: Line 18:
  
 ^ Name ^ Description ^ Lead ^ ^ Name ^ Description ^ Lead ^
-| Command-line Parsing | Parse the GCC command line to pick up AFMV options | Cameron Coenjarts +| Command-line Parsing | Parse the GCC command line to pick up AFMV options | Muhammad Wajih Rajani 
-| Version List Processing | Process the version list received from the command-line to validate the architectural features | Muhammad Wajih Rajani |+| Version List Processing | Process the version list received from the command-line to validate the architectural features | Cameron Coenjarts |
 | arch= Arguments | The current GCC AArch64 FMV capability accepts versions that are identified by feature flags (such as "sve2") but does not accept "arch=" arguments such as "arch=armv9-a" (those type of arguments are accepted by the x86 FMV implementation). Add this functionality. | Linh Nguyen Le | | arch= Arguments | The current GCC AArch64 FMV capability accepts versions that are identified by feature flags (such as "sve2") but does not accept "arch=" arguments such as "arch=armv9-a" (those type of arguments are accepted by the x86 FMV implementation). Add this functionality. | Linh Nguyen Le |
 | Apply FMV cloning to functions automatically | When the appropriate command-line options are provided, the compiler should automatically clone //all// functions, as if the target_clone attribute was specified. | Travis Liu | | Apply FMV cloning to functions automatically | When the appropriate command-line options are provided, the compiler should automatically clone //all// functions, as if the target_clone attribute was specified. | Travis Liu |
 | Produce an error message if AFMV and FMV are used together | Produce an error if the compiler is invoked with AFMV command-line options //and// there are FMV attributes specified in the code. | Phuong Ngan Huynh | | Produce an error message if AFMV and FMV are used together | Produce an error if the compiler is invoked with AFMV command-line options //and// there are FMV attributes specified in the code. | Phuong Ngan Huynh |
 | Prune Cloned Functions | Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation. | Kristjan Punno | | Prune Cloned Functions | Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation. | Kristjan Punno |
-| Diagnostic Output | Provide diagnostic output (when activated by -fdump-...-... command-line options). | |+| Diagnostic Output | Provide diagnostic output (when activated by -fdump-...-... command-line options). |Steven David Pillay|
 | Git Wrangler | Mangage the repository, including frequent rebasing. | Matthew De Napoli | | Git Wrangler | Mangage the repository, including frequent rebasing. | Matthew De Napoli |
-| Update Documentation | Update the existing GCC IFUNC and FMV documentation (all archs) | | +| Update Documentation 1| Update the existing GCC IFUNC and FMV documentation (all archs) | |  
 +| Update Documentation 2| Update the existing ACLE documentation|Heavendeep Kaur Munjal
 | Create AFMV Documentation | Create documentation for the AFMV feature. | Mimi Dang | | Create AFMV Documentation | Create documentation for the AFMV feature. | Mimi Dang |
-| Create Tests | Create a suite of tests for the AFMV capability. (This is in addition to individual tests that the various task owners will prepare). | |+| Create Tests | Create a suite of tests for the AFMV capability. (This is in addition to individual tests that the various task owners will prepare). |Rachit Chawla|
  
 ===== Project Stage 1 ===== ===== Project Stage 1 =====
Line 64: Line 65:
 1. **Complete the task from the task table.** In order to avoid blocking on other tasks, perform the initial implementation as a stand-alone task which does not depend on any of the other tasks being performed (to the extent possible). For example, the Command-line Argument Processing would normally feed the Version List processing, which in turn would control the FMV Cloning of functions. In the initial stage, the command-line arguments should be parsed and stored into the appropriate locations. The Version List processing can be written in such a way that it processes hard-coded input value (or reads values from a file or other location to facilitate testing) so that this can be written without blocking (waiting) for the Command-line Argument Processing. Likewise, the initial implementation of the Version List processing can assume that AFMV is enabled for a couple of microarchitectures. In the next stage we will connect up the various tasks components so that they communicate their values effectively. 1. **Complete the task from the task table.** In order to avoid blocking on other tasks, perform the initial implementation as a stand-alone task which does not depend on any of the other tasks being performed (to the extent possible). For example, the Command-line Argument Processing would normally feed the Version List processing, which in turn would control the FMV Cloning of functions. In the initial stage, the command-line arguments should be parsed and stored into the appropriate locations. The Version List processing can be written in such a way that it processes hard-coded input value (or reads values from a file or other location to facilitate testing) so that this can be written without blocking (waiting) for the Command-line Argument Processing. Likewise, the initial implementation of the Version List processing can assume that AFMV is enabled for a couple of microarchitectures. In the next stage we will connect up the various tasks components so that they communicate their values effectively.
  
-2. Be prepared to present your task plan during the Friday, March 22 class. This should be a __short__ (3-5 minute max) presentation where you (a) outline the specifics of the task that you're working on. Basic design decisions, such as what command-line arguments you will process, what documentation tools/format you will be using, or what diagnostic output you will be presenting, (b) bring up for discussion any topics that require co-ordination between task leads, and <nowiki>(c)</nowiki> identify the things you need to learn to perform the task effectively.+2. Be prepared to discuss your task plan during the Friday, March 22 class.
  
 3. Attend the classes and be prepared to discuss your task as appropriate. 3. Attend the classes and be prepared to discuss your task as appropriate.
spo600/2024_winter_project.1711460923.txt.gz · Last modified: 2024/04/16 18:10 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki