green_fr (green_fr) wrote,
green_fr
green_fr

Category:

MatLab: RAM access time

Продолжаю копать недавний вопрос, довёл ситуацию до минимализма, и всё равно ничего не понимаю.

Есть некий скрипт, который выглядит примерно* так:
a = random(...);
b = random(...);
for i = 1 : 1000
    a = a + b;
end

1. Запускаю его на своём компе — память загружена на некотором уровне X, процессор загружен на 25% (у меня 4 ядра, MatLab крутится на одном из них), время работы цикла 19 секунд.
2. Запускаю два MatLab, на каждом из них запускаю ручками копию этого скрипта. Память загружена вдвое больше (логично), процессор загружен на 50% (логично), время работы цикла 34 секунды (я ждал, очевидно, 19 секунд).

В чём фишка? Единственное разумное объяснение — меня ограничивает скорость чтения / записи RAM. В это не хочется верить, и как минимум хочется поверить.

Откуда следующие вопросы:
1. Как получить максимальную скорость чтения / записи RAM? Измерить / посчитать по техническим характеристикам / запустить утилиту.
2. Как посмотреть реальную скорость работы с RAM? В идеале иметь такой монитор, как Task Manager, который рисовал бы график в реальном времени, чтобы на нём глазами увидеть потолок, об который стучится мой процесс. Наш IT выслушал, попробовал две какие-то стандартные у них утилиты и развёл руками. Hotline MatLab вообще вопроса не понял (провёл с ними час по телефону, зол неописуемо).
3. (в голову как-то не лезет, что программу тормозит RAM, с детства привыкли, что у него скорость, конечно, ограниченная, но это только в теории) Какие ещё есть варианты объяснения этого эффекта?


*Скрипт выглядит «примерно» так, т.к. MatLab в принципе иногда работает с несколькими ядрами процессора. Например, простую операцию a + b он легко раскидывает на несколько ядер. А вот bsxfun(@plus, a, b), позволяющую складывать матрицы разного размера, уже не раскидывает. Поэтому для простоты я написал +, но на самом деле там bsxfun.
Tags: matlab, rabota
Subscribe

  • Линьяно 2021

    Этим летом устроили себе «День сурка» второго порядка: после года, проведённого как один нескончаемый день, решили провести летний отпуск в точности…

  • La Seyne-sur-Mer

    На школьных каникулах решили сменить обстановку, съездить на юг Франции. Потому что за границу всё ещё сложно / невозможно, а там как минимум больше…

  • Forum des métiers

    У Натана в школе проводили что-то типа дней профориентации. В пошлом году делали в игровой форме — дети типа строят «город будущего», они выбрали…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 45 comments

  • Линьяно 2021

    Этим летом устроили себе «День сурка» второго порядка: после года, проведённого как один нескончаемый день, решили провести летний отпуск в точности…

  • La Seyne-sur-Mer

    На школьных каникулах решили сменить обстановку, съездить на юг Франции. Потому что за границу всё ещё сложно / невозможно, а там как минимум больше…

  • Forum des métiers

    У Натана в школе проводили что-то типа дней профориентации. В пошлом году делали в игровой форме — дети типа строят «город будущего», они выбрали…