spo600:2024_winter_project
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
spo600:2024_winter_project [2024/03/26 13:48] – chris | spo600: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 " | | arch= Arguments | The current GCC AArch64 FMV capability accepts versions that are identified by feature flags (such as " | ||
| 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 |
+ | | 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 | + | 2. Be prepared to discuss |
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)