<?xml version="1.0" encoding="UTF-8"?><oembed><type>video</type><version>1.0</version><html>&lt;iframe src=&quot;https://www.loom.com/embed/bd966d3d549542dcae0a384b1d65fe35&quot; frameborder=&quot;0&quot; width=&quot;1670&quot; height=&quot;1252&quot; webkitallowfullscreen mozallowfullscreen allowfullscreen&gt;&lt;/iframe&gt;</html><height>1252</height><width>1670</width><provider_name>Loom</provider_name><provider_url>https://www.loom.com</provider_url><thumbnail_height>1252</thumbnail_height><thumbnail_width>1670</thumbnail_width><thumbnail_url>https://cdn.loom.com/sessions/thumbnails/bd966d3d549542dcae0a384b1d65fe35-e20410dacb4b9942.gif</thumbnail_url><duration>100.737</duration><title>Иерархия памяти и тайлинг матрицы 1024x1024</title><description>Привет, это лабораторная работа номер 11, Иерархия памяти и оптимизация. Я работал с матрицей 1024 на 1024 и размером тайла 64, сначала стилизировал вычисления i plus j и i minus j. Затем показал наивную версию с тремя циклами i, j, k, где внутренний цикл читал матрицу по столбцам и получались лишние промахи из за страйдинга. Потом я поменял порядок циклов на IKJ, сделал внутренний цикл по j, чтобы читать последовательно по памяти, и добавил тайлинг 64 для снижения промахов. В конце в main я выбираю версию по аргументу командной строки, меряю время через clock и проверяю корректность контрольной суммой, просьб к зрителям не было.</description></oembed>