Hardprob/Minimum Local Register Allocation — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Новая страница: «<!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> * Набор инструкций, формирующих некий блое без перех…») |
StasFomin (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
<!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | <!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | ||
− | * Набор инструкций, формирующих некий | + | * Набор инструкций, формирующих некий блок без переходов, |
** <em>N</em> доступных регистров, | ** <em>N</em> доступных регистров, | ||
− | ** стоимость <m>S_i, \ \ | + | ** стоимость <m>S_i, \ \ 1≤i≤N</m> чтения и записи в регистр <em>i</em>. |
* Порядок резервирования регистров для этой последовательности инструкций. | * Порядок резервирования регистров для этой последовательности инструкций. | ||
* Минимизировать полную стоимость чтения-записи в регистры. | * Минимизировать полную стоимость чтения-записи в регистры. | ||
Строка 8: | Строка 8: | ||
---- | ---- | ||
{{hard-problem-on-lab17|{{PAGENAME}}}} | {{hard-problem-on-lab17|{{PAGENAME}}}} | ||
− | + | * {{has-testdata-and-visualization}} | |
− | + | * {{has-pyomo-model}} | |
+ | ** Правда там две, студента и моя, надо прорефакторить и слить. | ||
<!-- * {{has-npc-reduction}} --> | <!-- * {{has-npc-reduction}} --> | ||
<!-- * {{add-random-fuzzing-tests}} --> | <!-- * {{add-random-fuzzing-tests}} --> |
Текущая версия на 16:53, 21 мая 2025
- Набор инструкций, формирующих некий блок без переходов,
- N доступных регистров,
- стоимость чтения и записи в регистр i.
- Порядок резервирования регистров для этой последовательности инструкций.
- Минимизировать полную стоимость чтения-записи в регистры.
Код в «minimum-local-register-allocation.ipynb» на гитлаб или живьем в лабе
-
— есть тестовые данные и визуализация.
-
— есть Pyomo-формулировка для ЦЛП.
- Правда там две, студента и моя, надо прорефакторить и слить.