|
|
|
Производительность OpenCL14.08.2014, 15:35. Показов 60525. Ответов 474
Метки нет (Все метки)
Доброго времени!
Написал тест для будущих расчётов с использованием OpenCL и проверил на разных системах: ( дрова для AMD 14.4; для nVidia 340.52 ) Radeon HD 7970(2048/925MHz; 384bit; 3Gb/5GHz) и CPU AMD 8120 справились за 4.3 секунды GeForce GTX 760(1152/980MHz; 256bit; 4Gb/6GHz) и CPU Intel Q9450 справились за 22.5 секунд GeForce GTS 450(192/750MHz; 128bit; 2Gb/??) и CPU Intel i7 2600 справились за 46.0 секунд GeForce GT 520M(48/740MHz; 64bit; 2Gb/??) и CPU Intel 2630QM справились за 117.0 секунд Интересен слив GTX 760 который оказался в 5,2 раза медленней(хотя по цене так не скажешь). Похоже дело в двойной точности(DP) которая у GeForce урезана маркетологами до 1/24 от производительности одинарной точности(SP). Хотя на титанах говорят оставили полную поддержку 1/3 как в Tesla'x(нужно включать спец галочку в дровах). У всех радиков вроде 1/2. Ну и плюс к этому, наверное, сам OpenCL драйвер не лучшим образом реализован ибо есть своя CUDA, которая при всех остальных равных не нужна будет ни кому. Поэтому интересуют тесты либо на более слабых радеонах, либо на топовых джифорсах. А лучше и те и те и побольше! Ищутся счастливые обладатели карт и готовые скачать и запустить тест( ~30 Мбайт ): GeForce GTX 780(с TI или без) GeForce GTX TITAN(с BLACK EDITION или без) Radeon R9 290( с Х или без ) - для этих карт наверно уже результат будет больше зависеть от CPU Ну и любые другие радики не старше HD 7000. https://cloud.mail.ru/public/f... L_TEST.rar Распаковать архив полностью и запусить ехе Обязательно укажите проц.
0
|
|
| 14.08.2014, 15:35 | |
|
Ответы с готовыми решениями:
474
OpenCL на С++ OpenCL на OS X Программа в OpenCL |
|
|
||
| 19.12.2022, 13:14 [ТС] | ||
|
Объём памяти читается через API OpenCL c clGetDeviceInfo с param_name = CL_DEVICE_GLOBAL_MEM_SIZE Реально используется менее 500Мб поэтому влиять, по-идеи, никак не должно.
0
|
||
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 19.12.2022, 15:09 | |
|
snake32,
Ок, уже интересней. Тогда помогите разобраться что к чему. Win7x64 Ent, Core i7 3770, видео "внутрикаменное", т.е. HD Graphics 4000. Видеодрайвер версии 10.18.10.5161 Первый (медленный) результат, это на версии файла OpenCL.dll 1.2.11 Второй (быстрый) результат, это на версии файла OpenCL.dll 6.4.0.37 из дистрибутива opencl_runtime_16.1.2_x64_setup.msi Дело в том что до февраля 2020 г. OpenCL CPU runtime был частью видеодрайвера для встроенной Интеловской графики, о чем они пишут здесь. Затем они стали разделять, дрова отдельно, API отдельно. Но и тут у них случилась оказия, если стоят дрова на встроенное видео Intel (мой случай), то нельзя просто так взять и поставить этот SDK, потому что он затрёт дрова и т.п. о чем они пишут здесь Но остался вариант ручной установки, который там описан и которым я воспользовался. Там тоже без косяков не обошлось, файлы OpenCL.dll предназначенные для каталогов System32 и SysWOW64 разные по содержимому и размеру, при распаковке msi они распаковвываются неправильно, файлы нужно поменять местами, только тогда это заработает. Это я выяснил когда на виртуальной машине сделал обычный инсталл из msi и посмотрел на сами файлы, где они должны быть и какие. Итак, собственно вопросы которые остались. На старой версии OpenCL.dll 1.2.11 которые судя по всему всё таки устанавливаются при замене видеодрайвера для HD Graphics 4000 (я обновлял у себя драйвер, собственно откуда всё и пошло-поехало) у меня работал тест GPU_Caps_Viewer. Я использовал портабельную версию этого сабжа. Там на закладке 3D Demos есть тесты для CL CPU и для CL GPU и они работали оба. Теперь, когда я обновил вручную opencl_runtime_16.1.2_x64, до версии OpenCL.dll 6.4.0.37 расчет в этой программе ускорился вдвое, но GPU_Caps_Viewer теперь говорит OpenCL GPU not supported for selected platform, а OpenCL CPU работает как раньше. Почему собственно так и как с этим бороться? Подозреваю что OpenCL для CPU и GPU это какие-то две большие разницы...
0
|
|
|
|
|||
| 19.12.2022, 15:57 [ТС] | |||
|
Помогает откат windows до состояния перед установкой кривого драйвера(runtime_16.1.2_x64_setup), Либо повторная установка драйвера который сломался (в вашем случае переустановка HD Graphics 4000), который исправит OpenCL.dll. По крайней мере это работает для AMD Graphics и NVIDIA Geforce Добавлено через 3 минуты То что с runtime_16.1.2_x64_setup стал в 2 раза быстрее считать CPU можно объяснить оптимизациями связанные с задействованием более свежих инструкций (AVX например)
0
|
|||
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 19.12.2022, 18:00 | |
|
snake32,
У меня ситуация была следующая. Система эта Win7x64 стоит с 2012 г. Драйвер видео стоял на ней версии 8.15.10.2761 примерно с тех же годов. Кроме драйвера видеокарты, в "установке и удалении программ" была отдельной строкой прописанная программа "Поддерка процессором технологии OpenCL....." что-то типа такого. Вероятно эта отдельная поддержка OpenCL была в те времена частью драйвера как и пишет Интел, потому как самостоятельное приложение я её у себя в дистрибутивах не обнаружил. Собственно с чего я полез в эти дебри. Я поменял у себя Firefox с 78 версии на 102 ESR. И у меня начались проблемы с прорисовкой экрана браузера. Опытным путем я выяснил, что если выключить аппаратное ускорение в настройках браузера, то становится всё нормально. Подумал что причиной этому может быть древний видеодрайвер, поэтому решил его поменять на последний доступный, мало ли что там за 10 лет напридумывали. Деинсталировал сам драйвер и эту поддержку процессором OpenCL. Установил новый драйвер 10.18.10.5161 и тут мне попалось упоминание, что в новых дровах интела, эту поддержку как самостоятельный API убрали. И пошло-поехало. )) Тут есть упоминание как включить поддержку в дровах интела, но я пока не пробовал это делать. От runtime_16.1.2_x64_setup сам интел открестился, говорит что он больше недоступен, качайте более старшие релизы, а это последний пакет в котором заявлена поддержка Win7. При его установке как я говорил выше, ставится OpenCL.dll 6.4.0.37, которую я и поставил себе, но в ручном режиме. На виртуальной машине я попробовал установить на Win7 версию постарше, opencl_runtime_18.1_x64_setup.msi. Она поставилась, хоть и заявлена поддержка начиная с Win10 и выше, но OpenCL.dll с ней ставится какой-то версии 2.xxxx, что несколько странно.
0
|
|
|
Заблокирован
|
|
| 19.12.2022, 18:21 | |
|
KIF62, ставь вин 10
0
|
|
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 19.12.2022, 20:41 | |
|
dimank666,
Пока не вижу в ней особых преимуществ, обустраиваю на другом диске пока не спеша LTSC.
0
|
|
|
Заблокирован
|
|
| 19.12.2022, 22:57 | |
|
K2K, не видать тебе победы
0
|
|
|
Заблокирован
|
|
| 19.12.2022, 22:58 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 19.12.2022, 23:04 | |
|
Итого: решил пойти по пути совета PCMark10.
Удалил дрова видяхи, зачистил в реестре все упоминания о Khronos (разработчик OpenCL) и следы дров Intel. Место указанное как самое проблемное оказалось очищенным и без меня. Установил сначала opencl_runtime_16.1.2_x64_setup.msi уже в автомате, а не руками, затем те же дрова на видяху. Проверил System32 и SysWOW64 на наличие OpenCL.dll, там по прежнему остались те же файлы версии 6.4.0.37, которые я ставил в ручном режиме. Проверил переменную PATH на наличие путей к нужным файлам, она тоже оказалась нетронутой, после прошлой ручной установки. GPU_Caps_Viewer снова заработал и это радует, оба режима CL GPU и CL CPU крутят демки, какие-то быстрей на одном, какие-то на другом, как и было изначально. А вот с программой непонятка, значения вернулись к первоначальным медленным, хотя клиенты OpenCL.dll 6.4.0.37 остались те же самые. Единственный момент который смущает, что теперь памяти опять выделяется 2047 Мб, как было на старых OpenCL.dll версии 1.2.11. Когда время сократилось вдвое, памяти в окне программы было выделено 511Мб, возможно это как-то всё же связано?
0
|
|
|
Заблокирован
|
|
| 19.12.2022, 23:22 | |
|
я знаю почему раньше было 4500 там карта была Palit GeForce GTX 1080 Ti GAMEROCK PREMIUM [NEB108TH15LC-1020G]
а потом я тестил на Видеокарта Palit GeForce GTX 1080 Ti SUPER JETSTREAM [NEB108TS15LC-1020J] https://www.cyberforum.ru/post15636778.html
0
|
|
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
||
| 19.12.2022, 23:37 | ||
|
snake32,
Драйвер тот же что и был до этого, версии 10.18.10.5161. от 6 августа 2020 г. Быстрый просчет был на этом же драйвере, но с OpenCL установленным в ручном режиме, но из этого же дистрибутива opencl_runtime_16.1.2_x64_setup.msi Если верить Интелю
0
|
||
|
дивананалитикаиксперд
15215 / 10906 / 914
Регистрация: 08.01.2013
Сообщений: 39,082
|
|
| 20.12.2022, 00:46 | |
|
0
|
|
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
||
| 20.12.2022, 13:35 | ||
|
Лог прилагаю. Но на этом "чудеса" не закончились. ![]() Как я говорил ранее, на виртуальную машину (Vmware) с Win7x64 я сначала ставил 16 SDK OpenCL, удалил его и поставил opencl_runtime_18.1_x64_setup.msi для проверки работоспособности. Когда делал клон вирт. машины, не обратил внимание что в настройка vm не включена поддержка виртуализации и исправил это, поставив галочки. Попробовал снова прогнать тест и теперь виртуальная машина считает вдвое быстрей реальной, на которой она стоит. ![]() Правда опять памяти она выделяет в 4 раза меньше для теста. Видимо эта величина берется из БИОС, реальная машина выделяет для графики 2 Гб, а Vmware только 512 Мб.
0
|
||
|
|
||||
| 20.12.2022, 14:13 [ТС] | ||||
Но всё равно даже 33сек как-то много. Если посмотреть на 6700К, который тоже 4/8 как 3770, то он за 17 сек справляется. Не ужели двукратный рост возможен без доп ядер? ![]() А ну память ещё DDR4 vs DDR3 у 3770...
0
|
||||
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
||
| 20.12.2022, 14:53 | ||
|
Дело в том что по умолчанию нет никакого смысла отдавать много ресурсов вирт. машине и я обычно выделяю 1 процессор и два ядра иногда 4 ядра, если нужно что-то ресурсоемкое на ней гонять. А здесь я решил попробовать отдать ей все ядра, Core i7, 4 реальных и 4 виртуальных и она показала такой результат, вдвое быстрей реальной машины. Насчет галочек поддержки виртуализации в VMware сейсас проверил, снял их и прогнал еще разок, результат практически такой же, т.е. они на это не влияют. Остаются три неизвестных, это драйвер HD4000, объем памяти выделяемый при тесте и версия opencl_runtime_18.1 в VMware и 16.1.2 в реальной машине.
0
|
||
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 22.12.2022, 00:15 | |
|
Не могу остановиться.
![]() На виртуальной машине с Win10x64 LTSC 2021 ставил по очереди разные версии Intel OpenCL SDK и проводил тесты. Контроль за чистотой установки и удаления логировал Uninstall Tool. Делал несколько прогонов программой и выбрал самые лучшие результаты. В 20 версии SDK оказалось не то что нужно, поэтому не тестировал. Вышла новая 2023 версия SDK, но регистрироваться ради неё на сайте Intel было влом. 16 версия SDK drv OpenCL.dll 6.4.0.37 время 34094 мс 18 версия SDK drv OpenCL.dll 2.1.0.0 время 35859 мс 21 версия SDK drv OpenCL.dll 3.0.1.0 время 100032 мс 22 версия SDK drv OpenCL.dll 3.0.1.0 время 108860 мс В моем случае выходит, что чем новее SDK, тем хуже результат, забивают на старое железо сволочи. ![]() Остался невыясненным вопрос, почему на Win7 с тем же 16 SDK у меня время в два раза больше чем на виртуальной машине. Что на это влияет, дрова от видяхи, или что-то другое.
1
|
|
|
1 / 1 / 0
Регистрация: 20.01.2022
Сообщений: 11
|
|
| 22.12.2022, 18:10 | |
|
Если долго мучиться, что-нибудь получиться.
Добил на виртуальной машине еще две версии SDK 2011 и странную древнюю версию SDK, вытащенную из драйвера для моей встроенной графики Intel HD4000, которую в 2012 году скачал с сайта ASUS. В readme этого исполина написано что это версия OpenCL 1.1, но самое интересное было дальше. Таким образом все протестированные SDK имеют следующие версии драйверов и время исполнения расчета в программе: 2012 версия SDK drv OpenCL.dll 1.1.0.0 время ??? 2013 версия SDK drv OpenCL.dll 1.2.11.0 время 65406 2016 версия SDK drv OpenCL.dll 6.4.0.37 время 34094 мс 2018 версия SDK drv OpenCL.dll 2.1.0.0 время 35859 мс 2021 версия SDK drv OpenCL.dll 3.0.1.0 время 100032 мс 2022 версия SDK drv OpenCL.dll 3.0.1.0 время 108860 мс Первый запуск в 2012 SDK удивил, второй (и все последующие выдают одинаковый результат) запуск удивил еще больше. После закрытия программы вываливается такая ошибка.
0
|
|
|
3 / 3 / 0
Регистрация: 01.01.2021
Сообщений: 24
|
|
| 23.02.2023, 08:57 | |
|
лучший круглый результат на 7м запуске
ещй бы некий контроль результата скажем средневкадратичное отклонение от идеальных результатов за которые взять результаты при расчете с точностью FP80
0
|
|
| 23.02.2023, 08:57 | |
|
Помогаю со студенческими работами здесь
360
Работа с OpenCL Где скачать OpenCL C++? OpenCL в Builder и не только Глобальная переменная в OpenCL OpenCL - ошибка 0xc0000005 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|