Hardprob/Minimum Local Register Allocation — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Массовая правка: замена PCRE \\le\s на ≤) |
StasFomin (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии 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, \ \ 1≤i≤N</m> чтения и записи в регистр <em>i</em>. | ** стоимость <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-формулировка для ЦЛП.
- Правда там две, студента и моя, надо прорефакторить и слить.