This shows you the differences between two versions of the page.
asc:teme:tema3 [2025/05/06 00:56] emil.slusanschi |
asc:teme:tema3 [2025/05/15 19:01] (current) emil.slusanschi [Tema 3] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | <hidden> | ||
====== Tema 3 ====== | ====== Tema 3 ====== | ||
<note important> | <note important> | ||
- | * **Deadline soft:** 18 mai 2025, ora 23:55. | + | * **Deadline soft:** **<del>18</del> 20 Mai 2025, ora 23:55**. Primiți un bonus de 10% din punctajul obținut pentru trimiterea temei înainte de **<del>16</del> 18 Mai 2025, ora 23:55**. Veți primi o depunctare de 10% din punctajul maxim al temei pentru fiecare zi de întârziere, până la maxim 7 zile, adică până pe **<del>25</del> 27 Mai 2025, ora 23:55**. |
- | * Primiți un bonus de 10% din punctajul obținut pentru trimiterea temei înainte de 16 mai 2025, ora 23:55. | + | * **Deadline hard:** **<del>25</del> 27 Mai 2025, ora 23:55**. |
- | * **Deadline hard:** 25 mai 2025, ora 23:55. | + | * **Responsabili:** [[vladspoiala@gmail.com |Vlad Spoiala]], [[emil.slusanschi@cs.pub.ro|Emil Slusanschi]], [[serban.ionescu0609@stud.acs.upb.ro | Serban Ionescu]], [[adumitrescu2708@stud.acs.upb.ro | Alexandra Dumitrescu]]. |
- | * Veți primi o depunctare de 10% din punctajul maxim al temei pentru fiecare zi de întârziere (după 18 mai), până la maxim 7 zile, adică până pe 25 mai 2025, ora 23:55. | + | |
- | * **Responsabili:** [[vladspoiala@gmail.com |Vlad Spoiala]], [[emil.slusanschi@cs.pub.ro|Emil Slusanschi]], [[serban.ionescu0609@stud.acs.upb.ro | Serban Ionescu]], [[adumitrescu2708@stud.acs.upb.ro | Alexandra Dumitrescu]]. | + | |
</note> | </note> | ||
<note tip> | <note tip> | ||
- | * Dată publicare: 6 mai 2025 | + | * Dată publicare: 7 mai 2025 |
- | * Dată actualizare enunț: 6 mai 2025 | + | * Dată actualizare enunț: 15 mai 2025 |
</note> | </note> | ||
Line 25: | Line 22: | ||
y = Ct * x | y = Ct * x | ||
x = C * y | x = C * y | ||
- | y = D * x | ||
i += 1 | i += 1 | ||
} | } | ||
+ | y = D * x | ||
</code> | </code> | ||
unde: | unde: | ||
Line 139: | Line 136: | ||
* **10p** pentru implementarea corecta a variantei **neopt** | * **10p** pentru implementarea corecta a variantei **neopt** | ||
* **15p** pentru implementarea variantei **opt_m** dintre care: | * **15p** pentru implementarea variantei **opt_m** dintre care: | ||
- | * 10p dacă implementarea obține rezultate corecte și timpul de calcul pe partiția **haswell ** este mai mic de 14s pentru testul cu N = 1000 | + | * 10p dacă implementarea obține rezultate corecte și timpul de calcul pe partiția **haswell ** este mai mic de 12s pentru testul cu N = 1000 |
- | * 5p daca timpul de calcul pe partitia **haswell ** pentru testul cu N = 1000 este mai mic de 5s. Veti obtine un punctaj partial daca timpul de calcul este intre 5s si 10s. | + | * 5p daca timpul de calcul pe partitia **haswell ** pentru testul cu N = 1000 este mai mic de 5s. Veti obtine un punctaj partial daca timpul de calcul este intre 5s si 9s. |
- | * **10p** dacă cele 3 implementări nu prezintă probleme de acces la memorie | + | * **9p** dacă cele 3 implementări nu prezintă probleme de acces la memorie |
* Pentru a rezolva acest subpunct va trebui să folosiți **valgrind** cu opțiunile **--tool=memcheck --leak-check=full** | * Pentru a rezolva acest subpunct va trebui să folosiți **valgrind** cu opțiunile **--tool=memcheck --leak-check=full** | ||
* Veți include 3 fișiere, **neopt.memory**, **blas.memory** si **opt_m.memory**, cu output-urile rulării valgrind pentru fiecare din cele 3 variante având ca input fișierul **input_valgrind** | * Veți include 3 fișiere, **neopt.memory**, **blas.memory** si **opt_m.memory**, cu output-urile rulării valgrind pentru fiecare din cele 3 variante având ca input fișierul **input_valgrind** | ||
- | * **10p** pentru analiza celor 3 implementări folosind **cachegrind** | + | * **16p** pentru analiza celor 3 implementări folosind **cachegrind** |
- | * 4p pentru includerea în arhivă a 3 fisiere, **neopt.cache**, **blas.cache** si **opt_m.cache** reprezentând output-urile rulării **valgrind** cu optiunile **--tool=cachegrind --branch-sim=yes --cache-sim=yes** pe partiția **haswell** având ca input fișierul **input_valgrind** | + | * 6p pentru includerea în arhivă a 3 fisiere, **neopt.cache**, **blas.cache** si **opt_m.cache** reprezentând output-urile rulării **valgrind** cu optiunile **--tool=cachegrind --branch-sim=yes --cache-sim=yes** pe partiția **haswell** având ca input fișierul **input_valgrind** |
- | * 3p pentru explicații oferite despre valorile obținute (I refs, D refs, Branches etc.) | + | * 5p pentru explicații oferite despre valorile obținute (I refs, D refs, Branches etc.) |
- | * 3p pentru explicații oferite despre efectul optmizărilor făcute de mână în varianta **opt_m** asupra valorilor obținute | + | * 5p pentru explicații oferite despre efectul optmizărilor făcute de mână în varianta **opt_m** asupra performantelor obținute |
- | * **45p** pentru o analiză comparativă a performanței pentru cele 3 variante si respectiv a furnizarii prompturilor folosite in interactiunea cu unelte de tip LLM (e.g. ChatGPT, CoPilot, Grok, Gemini, etc.): | + | * **40p** pentru o analiză comparativă a performanței pentru cele 3 variante si respectiv a furnizarii prompturilor folosite (in format text, NU imagini, si intrebare si raspuns, ordonate succesiv) in interactiunea cu unelte de tip LLM (e.g. ChatGPT, CoPilot, Grok, Gemini, etc.). Indicati unealta folosita + versiunea acesteia. Trebuie sa se puna accent si pe modificarile de mână ale codurilor dezvoltate, nu doar pe explicarea unor coduri generate automat: |
- | * 12p pentru realizarea unor grafice relevante bazate pe rularea a cel puțin 5 teste (5 valori diferite ale lui N: adică încă cel puțin două valori diferite de 200, 600 și 1000 pentru N) | + | * 12p pentru realizarea unor grafice relevante bazate pe rularea a cel puțin 5 teste (5 valori diferite ale lui N: adică încă cel puțin două valori diferite de 200, 600 și 1000 pentru N) si pentru comentarea / explicarea acestor grafice in README. |
- | * 12p pentru explicații oferite în README pentru versiunile **blas**, **neopt**, si **opt_m** | + | * 12p pentru explicații oferite în README pentru versiunile **blas**, **neopt**, si **opt_m**. Aceste explicatii trebuiesc scrise de voi si nu copiate din unelte online. |
* 12p pentru oferirea (succesiunii) de prompturi folosite pentru obtinerea versiunilor de cod **blas**, **neopt**, si **opt_m** precum si detalierea in README a motivelor pentru care a fost utilizata succesiunea aleasa spre o solutie eficienta a fiecarei variante de cod | * 12p pentru oferirea (succesiunii) de prompturi folosite pentru obtinerea versiunilor de cod **blas**, **neopt**, si **opt_m** precum si detalierea in README a motivelor pentru care a fost utilizata succesiunea aleasa spre o solutie eficienta a fiecarei variante de cod | ||
- | * 9p pentru oferirea unei explicații în README privind motivul existentei buclei de dimensiune N pentru ultimele trei operatii cu matrice din enuntul problemei | + | * 4p pentru oferirea unei explicații în README privind motivul existentei buclei de dimensiune N pentru ultimele trei operatii cu matrice din enuntul problemei |
Depunctări posibile: | Depunctări posibile: | ||
Line 162: | Line 159: | ||
* timpul de calcul este mai mare decât timpul maxim permis - -15p | * timpul de calcul este mai mare decât timpul maxim permis - -15p | ||
* **analiza comparativă si prompturi LLM** | * **analiza comparativă si prompturi LLM** | ||
- | * graficele nu au legendă / unități de măsură (intre -2p si -5p) | + | * graficele nu au legendă / unități de măsură sau nu sunt explicate/descrise corespunzator in readme (intre -2p si -5p) |
* lipsesc parțial sau complet timpii de rulare (intre -1p si -5p) | * lipsesc parțial sau complet timpii de rulare (intre -1p si -5p) | ||
+ | * lipsesc parțial sau total comentariile din REAME cerute explicit in enunt (intre -1p si -10p) | ||
* graficele nu conțin toate datele cerute în enunț (intre -2p si -5p) | * graficele nu conțin toate datele cerute în enunț (intre -2p si -5p) | ||
* prompturi identice cu ale altor submisii (-45p) | * prompturi identice cu ale altor submisii (-45p) | ||
Line 237: | Line 235: | ||
* În cazul variantei **opt_m** complexitatea trebuie să fie aceeași cu cea din varianta **neopt**. | * În cazul variantei **opt_m** complexitatea trebuie să fie aceeași cu cea din varianta **neopt**. | ||
* Formatul arhivei trebuie să fie **zip**. | * Formatul arhivei trebuie să fie **zip**. | ||
+ | * Punctajul maxim obtinut de tester este 50p. Restul de 50p vor fi atribuite prin corectarea manuala a documentatiilor voastre (README, cod, grafice, prompturi, etc.) | ||
<note important>Pentru a evita aglomerarea cozii se recomandă rularea de teste pentru valori ale lui N mai mici sau egale cu 1200. </note> | <note important>Pentru a evita aglomerarea cozii se recomandă rularea de teste pentru valori ale lui N mai mici sau egale cu 1200. </note> | ||
Line 276: | Line 275: | ||
[[https://infrastructure.pages.upb.ro/wiki/docs/grid | Ghid pentru folosirea gridului instituțional]] | [[https://infrastructure.pages.upb.ro/wiki/docs/grid | Ghid pentru folosirea gridului instituțional]] | ||
*/ | */ | ||
+ | <hidden> | ||
</hidden> | </hidden> | ||