


Ответов: 8961
Рейтинг: 824
|
|||
Будет-ли когда-нибудь dcc64.exe, чтобы HiAsm-овские программы загружали многоядерные процессоры на 99%
![]() ![]() ![]() |
|||
карма: 19 |
| ||
файлы: 1 | Фича.jpg [9.9KB] [183] |
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид писал(а): чтобы HiAsm-овские программы загружали многоядерные процессоры на 99%А в чем проблема загрузить только одно ядро сейчас ![]() |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, так не загружается, максимум общей загрузки 26-27%, причём одно ядро 50-60%, второе 50-40%, а ещё два отдыхают, на старом компьютере оба ядра иногда грузились под 90-100%, ещё чуть-чуть и зависал, а этот филонит (говорит: "И так в пять раз быстрее старого считаю, хватит с тебя!"
![]() |
|||
карма: 19 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид писал(а): И так в пять раз быстрее старого считаю, хватит с тебя!Тебе что, скорости не хватает, нафига грузить проц, если есть возможность его не грузить ![]() |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, запустил программку, считает Фурье, но не по 2^N, а по иному количеству точек, "Рассчёт выполнен за 790 215 мсек", а мог бы за 300 сек, сукин сын (МарьИвана продала квартиру за 5 000 000 руб, а могла бы продать за 5 500 000
![]() |
|||
карма: 19 |
|
Ответов: 1304
Рейтинг: 405
|
|||
Леонид, только dcc64.exe? может ppcrossx64.exe сможет распараллелить задачу, хотя мне кажется что без дополнительных мозгодвижений результат будет равным. Скомпилил пару примеров, интересно что получиться на оси x64. В примере с числами Фибоначчи ряд n=50, для примера отрисовки необходимо увеличить Test.png до размера 2000х2000 или взять любое другое.
[url]http://forum.hiasm.com/forum_serv.php?q=56&id=2171 [/url] http://forum.hiasm.com/forum_serv.php?q=56&id=2172 |
|||
карма: 3 |
|
Ответов: 8961
Рейтинг: 824
|
|||
MAV, почти никакой разницы, загрузка ядер гуляет между ними, одно иногда до 100%, но общая 25-30, лишь изредка до 37-40 на полсекунды
![]() |
|||
карма: 19 |
| ||
файлы: 4 | fib32.png [26.7KB] [143], fib64.png [27.8KB] [134], test32.png [20.7KB] [128], test64.png [20.9KB] [126] |
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Народ, а че вы делаете
![]() Причем здесь x32 и x64 ![]() Как вы хотите заставить работать несколько ядер, когда загружаете одно ![]() |
|||
карма: 22 |
|
Ответов: 1304
Рейтинг: 405
|
|||
попытка отправить сообщение №3
nesco писал(а): Надо саму обработку распараллеливать на разные потокиЕсли необходимо вычислить А, по А вычислить В, по В вычислить С итд., вот и кончилась многоядерность ![]() nesco писал(а): А в чем проблема загрузить только одно ядро сейчасНепонятна суть явления, зачем ОС раскидывает один поток на все ядра которые только найдёт. nesco писал(а): Причем здесь x32 и x64x64 приложение на x64 ОСИ должно работать чуть быстрее, правда с помощью моих примеров этого прироста не заметишь ![]() |
|||
карма: 3 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
MAV писал(а): Если необходимо вычислить А, по А вычислить В, по В вычислить С итд., вот и кончилась многоядерностьЕсть специальные алгоритмы. Тут надо математику знать... А некоторые на этом докторские пишут ![]() MAV писал(а): Непонятна суть явления, зачем ОС раскидывает один поток на все ядра которые только найдётЧем равномернее раскидается по ядрам, тем меньше разогрев каждого ядра в отдельности, физика, батенька -- в простоях ядро не греется MAV писал(а): x64 приложение на x64 ОСИ должно работать чуть быстрееЭто с чего, с того, что разрядность адреса и слова увеличивается, и только ![]() |
|||
карма: 22 |
|
Ответов: 1304
Рейтинг: 405
|
|||
nesco писал(а): Это с чего, с того, что разрядность адреса и слова увеличивается, и только Тут специально затачивать код надо под это дело, малейшее отклонение нивилирует все достоинства увеличинной разрядности[url писал(а): http://www.viva64.com/ru/l/0002/[/url]]Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции. |
|||
карма: 3 |
|
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
MAV писал(а): Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.И как, получили прирост в 5-15% ![]() |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, спасибо, великий NESCO! Теперь я имею представление о том, как можно нагрузить на 100% -- разбив вычисления на несколько потоков, хотя, конечно, это не всегда возможно. Пока не знаю, как это сделать в IC, но надеюсь кто-то знает
![]() |
|||
карма: 19 |
| ||
файлы: 1 | code_22938.txt [3.9KB] [82] |
Разработчик
Ответов: 26305
Рейтинг: 2146
|
|||
Леонид писал(а): Пока не знаю, как это сделать в ICУ нас же примеры есть -- компонент PBlur содержит в себе код распараллеливания потоков при расчете размытия Гаусса |
|||
карма: 22 |
|
Ответов: 8961
Рейтинг: 824
|
|||
nesco, именно на это я и надеялся
![]() |
|||
карма: 19 |
|