spo600:2024_summer_project
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
spo600:2024_summer_project [2024/06/06 16:28] – [Information about Writing Messages] chris | spo600:2024_summer_project [2024/08/19 07:14] (current) – chris | ||
---|---|---|---|
Line 105: | Line 105: | ||
==== Tasks ==== | ==== Tasks ==== | ||
+ | |||
+ | See also the [[SPO600 2024 Summer Participants]] page. | ||
^ # ^ Name ^ Description ^ Notes ^ Lead ^ | ^ # ^ Name ^ Description ^ Notes ^ Lead ^ | ||
Line 113: | Line 115: | ||
| 5 | Prune Cloned Functions (1)| Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation - Task 1: determine which function(s) to prune. | | Sangwoo Shin | | | 5 | Prune Cloned Functions (1)| Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation - Task 1: determine which function(s) to prune. | | Sangwoo Shin | | ||
| 6 | Prune Cloned Functions (2) | Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation - Perform function pruning. | | Wai Hing William Tse | | | 6 | Prune Cloned Functions (2) | Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation - Perform function pruning. | | Wai Hing William Tse | | ||
- | | 7 | Diagnostic Output | Provide diagnostic output (when activated by -fdump-...-... command-line options). | | | | + | | 7 | Diagnostic Output | Provide diagnostic output (when activated by -fdump-...-... command-line options). | | Anatolii Hryhorzhevskyi |
| 8 | Git Wrangler | Mangage the repository. | This task includes rebasing as upstream changes and managing code reviews. | Rigels Hasani | | | 8 | Git Wrangler | Mangage the repository. | This task includes rebasing as upstream changes and managing code reviews. | Rigels Hasani | | ||
- | | 9 | Update Documentation 1| Update the existing GCC IFUNC and FMV documentation (all archs) | Technical writing. | Shubh Janis | | + | | 9 | Update Documentation 1| Update the existing GCC IFUNC and FMV documentation (all archs) | Technical writing. | Shubh Jani | |
| 10 | Create AFMV Documentation | Create documentation for the AFMV feature. | Technical writing. | Humaira Shaikh | | | 10 | Create AFMV Documentation | Create documentation for the AFMV feature. | Technical writing. | Humaira Shaikh | | ||
- | | 11 | 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). | Requires understanding the existing test framework and writing tests. | | | + | | 11 | 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). | Requires understanding the existing test framework and writing tests. | Zijun Li | |
| 12 | Test AFMV Implementation | Use the existing test suite(s) to verify that the aarch64 changes are not introducing regressions on aarch64 or x86-64. | Requires understanding and using the existing test framework; may involve scripting. | | | | 12 | Test AFMV Implementation | Use the existing test suite(s) to verify that the aarch64 changes are not introducing regressions on aarch64 or x86-64. | Requires understanding and using the existing test framework; may involve scripting. | | | ||
Line 169: | Line 171: | ||
==== Due Date ==== | ==== Due Date ==== | ||
- | * June 14 for Stage 2 | + | * June 15 for Stage 2 |
+ | |||
+ | ===== Project Stage 3: Integrate, Tidy, & Wrap ===== | ||
+ | |||
+ | ==== What You Need to Do ==== | ||
+ | |||
+ | Wrap up your project: | ||
+ | * Deal with any loose ends from Stage 2 | ||
+ | * Integrate your code with any related code | ||
+ | * Test and document what you've done | ||
+ | |||
+ | The goal is to get a working proof-of-concept of the GCC AFMV feature; please keep this in mind as you prioritize your work! | ||
+ | |||
+ | [[https:// | ||
+ | * Minimum: your branch must include your code | ||
+ | * Target: your code is merged with the other compatible branches and is available in the master branch of the Git repository | ||
+ | |||
+ | This is a summary of the discussion that took place in the June 17th class regarding status and next steps for each task: | ||
+ | |||
+ | ^^# | ||
+ | ||1|Command-line Parsing|Marco Siu|Working for 4 values (sve, sve2, simd, neon)| | 3, 4, 7?, 11|10|Validate all target_clone options|Feed values to 3,4,7?,11 - Initializes afmv_targets array and afmv_cnt? | ||
+ | ||2|arch= Arguments|Connor Squires|Picking up the values but not validating| | |1, 10|Get working target_clone| | 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.|$ | ||
+ | ||3|Apply FMV cloning to functions automatically|Yukti Manoj Mulani|Throwing error msgs re target value|1|5| | Resolve error msgs|Accept data from 1|When the appropriate command-line options are provided, the compiler should automatically clone all functions, as if the target_clone attribute was specified.|$ | ||
+ | ||4|Error message: AFMV && FMV|Mara Perkons|Working with dummy afmv arg|1| | | | Accept data from 1|Produce an error if the compiler is invoked with AFMV command-line options and there are FMV attributes specified in the code.|$ | ||
+ | ||5|Prune Cloned Functions (1) - detect|Sangwoo Shin|??? | ||
+ | ||6|Prune Cloned Functions (2) - perform prune|Wai Hing William Tse|Accepts array of function names & prunes, tests failed|5| | 7|Get tests passing| | Remove any AFMV-created clone functions that do not provide any significant benefit or differentiation - Perform function pruning.|$ | ||
+ | ||7|Diagnostic Output|Anatolii Hryhorzhevskyi|Not dumping |6| | |Get dumps working|Integrate into 6|Provide diagnostic output (when activated by -fdump-…-… command-line options).|$ | ||
+ | ||8|Git Wrangler|Rigels Hasani|5 branches updated| | | | Rebase|Merge|Mangage the repository.|$ | ||
+ | ||9|Update Documentation 1|Shubh Janis|??? | ||
+ | ||10|Create AFMV Documentation|Humaira Shaikh|??? | ||
+ | ||11|Create Tests|Zijun Li|???|1, (2?), 4, (5/6?), 7)| | |Update with code changes| | Create a suite of tests for the AFMV capability. (This is in addition to individual tests that the various task owners will prepare).|$ | ||
+ | ||12|Test AFMV Implementation| | | | | | | | Use the existing test suite(s) to verify that the aarch64 changes are not introducing regressions on aarch64 or x86-64.|$ | ||
+ | |||
+ | === Blogging === | ||
+ | |||
+ | * Provide an overview of the final state of your project code: | ||
+ | * Location in class Git repository (branch) | ||
+ | * Integration with other branches | ||
+ | * What works, what limitations exist, what doesn' | ||
+ | * Provide detailed reflections on the project work and the course | ||
+ | |||
+ | |||
+ | ==== Due Date ==== | ||
+ | |||
+ | * June 21 for Stage 3 | ||
spo600/2024_summer_project.1717691338.txt.gz · Last modified: 2024/06/06 20:28 (external edit)