Вы меня так заклевали в
прошлом посте по поводу спинлоков, что я был вынужден согласиться :)
Да, действительно, существует ненулевая вероятность условий, когда спинлок впустую выжрет ресурсы процессора, воспрепятствовав таким образом полезной их трате на что-нибудь более насущное.
Толстый коммит в
библиотеку cl-bpnet меняет механизм
(
Read more... )
Comments 2
(The comment has been removed)
Reply
Скорость упала процентов на десять, system time заметно вырос, плотность загрузки ядер снизилась с 300% (на трех воркерах) до где-то 274%.
Зато стало предсказуемо себя вести в случае нехватки процессорных ресурсов.
Короче, резюме таково: волшебной кнопки "сделать пиздато", как обычно, не получилось :) Максимальной производительности нейросети можно добиться, включив use-spin-lock в опциях и руками экспериментируя с количеством воркеров на конкретной машине.
В дефолтном случае имеет смысл оставить семафоры, выставить количество воркеров равным количеству ядер и смириться с неполной отдачей машины :)
Reply
Leave a comment