Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Kursused
  2. 2025/26 kevad
  3. Paralleelsus süvaõppes (LTAT.06.030)
EN
Logi sisse

Paralleelsus süvaõppes 2025/26 kevad

  • Pealeht
  • Loengud
  • Laborid
  • Kodutöö
  • Viited

Home Work 2

General Instructions & Submission


Release & Deadline
  • Release date: 9 April 2026
  • Deadline: 23 April 2026 (23:59)
Submission Requirements

Each student must submit:

1) Code files

  • All modified scripts used in the homework
  • Must be runnable

2) Report (PDF — single file) Include:

  • Answers to all questions
  • Tables of Results
  • Short explanations

Task 1—Combine the Codes (6 Points)

Combine Code 1 and Code 2 to create an optimized training script.

1) Requirements
Students must:

  • Start from Code 1
  • Integrate AMP (Automatic Mixed Precision) from Code 2
  • Produce a new file named: practical5_single.py

2) Implementation Instructions
Your implementation must include:

  • autocast()
  • GradScaler()
  • scaler.scale(loss).backward()
  • scaler.step(optimizer)
  • scaler.update()

Hints:

  • Keep the gradient accumulation logic from Code 1 unchanged, and integrate AMP inside it.
  • Do not modify the training logic structure — only enhance it with AMP.

Task 2—Run and Compare All Versions (6 Points)

1) Requirements
Students must run the following three versions:

  • Code 1: DDP + Gradient Accumulation
  • Code 2: DDP + AMP
  • Code 3: Combined (Accumulation + AMP)

2) Comparison Table
Fill in the table based on your observations:

CodeTime(s)Memory Usage (GB)Stability
Code 1   
Code 2   
Code 3   

3) Comparison Table: Modify Code 1 and Code 3
Students must run with different values of: ACCUM_STEPS = 4, 8, 16, 32

CodeACCUM_STEPSTime(s)Memory Usage (GB)Observations
Code 14   
Code 18   
Code 116   
Code 132   
Code 34   
Code 38   
Code 316   
Code 332   

Task 3— Run and Compare All Versions (3 Points)

A short report (1 - 2 page) answering:

  • Q1) Compare execution time and explain differences using gradient synchronization and numerical precision?
  • Q2) Compare GPU memory usage and explain how Gradient Accumulation and Mixed Precision impact memory differently?
  • Q3) Explain how gradient accumulation changes the effective batch size. Why must the loss be divided by ACCUM_STEPS?

  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused