Skip to content

Task01 Максим Ярош ITMO#1008

Closed
mrsfer1 wants to merge 4 commits intoGPGPUCourse:task01from
mrsfer1:task01
Closed

Task01 Максим Ярош ITMO#1008
mrsfer1 wants to merge 4 commits intoGPGPUCourse:task01from
mrsfer1:task01

Conversation

@mrsfer1
Copy link

@mrsfer1 mrsfer1 commented Jan 19, 2026

Локальный вывод

$ ./main_aplusb_matrix 1
Found 3 GPUs in 0.099369 sec (OpenCL: 0.047673 sec, Vulkan: 0.051604 sec)
Available devices:
  Device #0: API: Vulkan. iGPU. AMD Radeon Graphics (RADV RENOIR). Free memory: 4867/5462 Mb.
  Device #1: API: OpenCL. CPU. AMD Ryzen 7 7730U with Radeon Graphics         . Intel(R) Corporation. Total memory: 15364 Mb.
  Device #2: API: Vulkan. CPU. llvmpipe (LLVM 20.1.2, 256 bits). Free memory: 15364/15364 Mb.
Using device #1: API: OpenCL. CPU. AMD Ryzen 7 7730U with Radeon Graphics         . Intel(R) Corporation. Total memory: 15364 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 0.221216 seconds
a + b matrix kernel times (in seconds) - 10 values (min=1.66279 10%=1.95696 median=2.08982 90%=2.35828 max=2.35828)
Running GOOD matrix kernel...
Kernels compilation done in 0.026718 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.186724 10%=0.18794 median=0.190723 90%=0.213013 max=0.213013)

// Затем создайте PR, должна начать выполняться автоматическиая сборка на Github CI (Github Actions) - рядом с коммитом в PR появится оранжевый шарик (сборка в процессе),
// который потом станет зеленой галкой (прошло успешно) или красным крестиком (что-то пошло не так).
// Затем откройте PR на редактирование чтобы добавить в описание (тоже между pre и /pre тэгами) вывод тестирования на Github CI:
// Чтобы его найти - надо нажать на зеленую галочку или красный крестик рядом с вашим коммитов в рамках PR.
// P.S. В случае если Github CIсборка не запустилась - попробуйте через десять минут или через час добавить фиктивный коммит (например добавив где-то пробел).

Вывод Github CI

22s
Run ./main_aplusb_matrix 0
Found 2 GPUs in 0.049611 sec (CUDA: 0.00011 sec, OpenCL: 0.023671 sec, Vulkan: 0.025782 sec)
Available devices:
  Device #0: API: OpenCL. CPU. AMD EPYC 7763 64-Core Processor                . Intel(R) Corporation. Total memory: 15995 Mb.
  Device #1: API: Vulkan. CPU. llvmpipe (LLVM 20.1.2, 256 bits). Free memory: 15995/15995 Mb.
Using device #0: API: OpenCL. CPU. AMD EPYC 7763 64-Core Processor                . Intel(R) Corporation. Total memory: 15995 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 0.140873 seconds
a + b matrix kernel times (in seconds) - 10 values (min=1.61208 10%=1.61373 median=1.8389 90%=2.37003 max=2.37003)
Running GOOD matrix kernel...
Kernels compilation done in 0.034824 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.148246 10%=0.148379 median=0.150045 90%=0.185193 max=0.185193)

@GPUcourseBOT
Copy link
Collaborator

Результаты тестирования PR #1008

Логи тестирования (нажмите чтобы развернуть)
=== СТАТУС: Успешно выполнены программы: main_aplusb_matrix ===
=== main_aplusb_matrix stdout (exit code: -11 (segfault после выполнения)) ===
Found 1 GPUs in 8.59694 sec (CUDA: 0.11337 sec, OpenCL: 0.731632 sec, Vulkan: 7.75187 sec)
Available devices:
Device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 2.62221 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.202561 10%=0.202561 median=0.202757 90%=2.8291 max=2.8291)
Running GOOD matrix kernel...
Kernels compilation done in 0.087581 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.006553 10%=0.006554 median=0.006557 90%=0.094221 max=0.094221)

Посмотреть полные логи

}
std::cout << "a + b matrix kernel times (in seconds) - " << stats::valuesStatsLine(times) << std::endl;

// TODO Удалите этот rassert - вычислите достигнутую эффективную пропускную способность видеопамяти
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

доделайте TODO

@GPUcourseBOT
Copy link
Collaborator

Результаты тестирования PR #1008

Логи тестирования (нажмите чтобы развернуть)
=== СТАТУС: Успешно выполнены программы: main_aplusb_matrix ===
=== main_aplusb_matrix stdout (exit code: -11 (segfault после выполнения)) ===
Found 1 GPUs in 0.321024 sec (CUDA: 0.120993 sec, OpenCL: 0.038141 sec, Vulkan: 0.161807 sec)
Available devices:
Device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 0.056933 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.203029 10%=0.203503 median=0.203829 90%=0.261034 max=0.261034)
Running GOOD matrix kernel...
Kernels compilation done in 0.046452 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.006555 10%=0.006558 median=0.00656 90%=0.053099 max=0.053099)
effective memory bandwidth: 1.5 GB/s

Посмотреть полные логи

@PolarNick239
Copy link
Member

PolarNick239 commented Jan 21, 2026

и еще один TODO не доделан

посмотрите пожалуйста еще раз внимательно на тот TODO что вы сделали - какую цель он преследует? для чего его просят вас выполнить?

и какое число вы бы ожидали увидеть? бьются ли ожидания с вашим выводом?

@PolarNick239
Copy link
Member

обратите внимание что я вам об этом уже написал в другом задании - #1010

@mrsfer1
Copy link
Author

mrsfer1 commented Jan 21, 2026

я долго не понимал, пересматривал код кернелов а потом понял что не поделил при подсчете пропускной способности на медианное время, вроде это все ошибки

@mrsfer1
Copy link
Author

mrsfer1 commented Jan 21, 2026

Локальный вывод

$ ./main_aplusb_matrix 1
Found 3 GPUs in 0.050396 sec (OpenCL: 0.022961 sec, Vulkan: 0.027387 sec)
Available devices:
  Device #0: API: Vulkan. iGPU. AMD Radeon Graphics (RADV RENOIR). Free memory: 5002/5462 Mb.
  Device #1: API: OpenCL. CPU. AMD Ryzen 7 7730U with Radeon Graphics         . Intel(R) Corporation. Total memory: 15364 Mb.
  Device #2: API: Vulkan. CPU. llvmpipe (LLVM 20.1.2, 256 bits). Free memory: 15364/15364 Mb.
Using device #1: API: OpenCL. CPU. AMD Ryzen 7 7730U with Radeon Graphics         . Intel(R) Corporation. Total memory: 15364 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 0.090913 seconds
a + b matrix kernel times (in seconds) - 10 values (min=1.83161 10%=1.95328 median=2.15809 90%=2.5267 max=2.5267)
A + b (bad) median effective memory bandwidth: 0.695059 GB/s
Running GOOD matrix kernel...
Kernels compilation done in 0.026582 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.182069 10%=0.182318 median=0.18368 90%=0.209269 max=0.209269)
A + b (good) median effective memory bandwidth: 8.16638 GB/s

Вывод Github CI

$ ./enumDevices
Number of OpenCL platforms: 1
Platform #1/1
    Platform name: 
The command "./enumDevices" exited with 0.

@GPUcourseBOT
Copy link
Collaborator

Результаты тестирования PR #1008

Логи тестирования (нажмите чтобы развернуть)
=== СТАТУС: Успешно выполнены программы: main_aplusb_matrix ===
=== main_aplusb_matrix stdout (exit code: -11 (segfault после выполнения)) ===
Found 1 GPUs in 8.89878 sec (CUDA: 0.115265 sec, OpenCL: 1.55492 sec, Vulkan: 7.22853 sec)
Available devices:
Device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using device #0: API: CUDA+OpenCL+Vulkan. GPU. Tesla T4 (CUDA 12020). Free memory: 14822/14930 Mb.
Using OpenCL API...
matrices size: 16384x8192 = 3 * 512 MB
Running BAD matrix kernel...
Kernels compilation done in 3.201 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.202633 10%=0.202784 median=0.203044 90%=3.40779 max=3.40779)
A + b (bad) median effective memory bandwidth: 7.38756 GB/s
Running GOOD matrix kernel...
Kernels compilation done in 0.059707 seconds
a + b matrix kernel times (in seconds) - 10 values (min=0.00655 10%=0.006551 median=0.006557 90%=0.066356 max=0.066356)
A + b (good) median effective memory bandwidth: 228.763 GB/s

Посмотреть полные логи

@PolarNick239
Copy link
Member

4/5 баллов 👍 (за дедлайн)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants