Застосування паралельних обчислень на центральному процесорі та графічному адаптері ЕОМ для прискорення розрахунку параметрів електричних ланцюгівНікітенко В'ячеслав Геннадійович; Дюжаєв Леонід Петрович, к.т.н., доцент (Національний технічний університет України «Київський політехнічний інститут», м. Київ, Україна) У роботі розглянуті шляхи та особливості застосування паралельних обчислень в сучасних програмних продуктах, а саме в інженерних програмах для розрахунку параметрів електричних ланцюгів. Наведено приклади можливих варіантів застосування паралельних обчислень на процесорі та графічному адаптері ЕОМ в цих програмах. Впровадження описаних методик призводить до значного скорочення часу виконання розрахунків. Ключові слова: ЕОМ, потоки, паралельні обчислення, OpenMP, CUDA, CAD, SPICE. ... |
Інф. повідомлення |
Заявка на участь |
Оформлення тез |
Оформлення літератури |
Правила транслітерації |
Коментарі
Як я зрозумів з Ваших тез, для паралельних обрахунків потрібно виконувати попередню обробку даних. Чи враховується час затрачений на таку обробку в загальному часі виконання обрахунків?
Так, час затрачений на цю обробку було враховано при проведенні вимірювань швидкості проведення розрахунків. Наявність попередньої обробки даних приводить до того, що схеми з малим числом елементів невигідно розраховувати таким методом. Натомість, значне скорочення часу роботи програми спостерігається при розрахунку великих схем, коли час роботи багатопотокової частини програми значно перевищує час попередньої обробки даних. В тезах наведена таблиця з деякими конкретними прикладами - числами елементів на розрахованих схемах та прискоренням розрахунків.
Слід зазначити, що тут під "попередньою обробкою" мався на увазі етап роботи програми, який виконується в один потік. Подальші дії (наприклад, складання матричних рівнянь) можуть виконуватися паралельно для відокремлених ділянок схеми в кілька потоків.
Що стосується програміста - тут важливо уточнити, що саме вважається "спеціальним вмінням". Технологія виконання програм в кілька потоків є надзвичайно поширеною, і використовується практично повсюди в індустрії. Для людей, добре знайомих з програмуванням, найбільшу складність представляє не стільки перенесення алгоритму в програмний код, скільки складання оптимального алгоритму. Тут важко назвати конкретні терміни виконання робіт, не знаючи кваліфікаційний рівень спеціалістів, які цим займатимуться. Особисто мені відомі студенти Радіотехнічного факультету, які, напевне, вправилися б зі створенням простої версії програми за рік чи, можливо, за пів-року.
Ви використовуєте для ваших розрахунків технологію CUDA. Чи можливо використовувати для Ваших задач технологію OpenCL?
На сайті http://habrahabr.ru/post/72247/ є така фраза : "Технология OpenCL представляет интерес для различных компаний IT сферы – от разработчиков игр до производителей чипов, а это означает что у нее большие шансы стать фактическим стандартом для разработки высокопроизводительных вычислений, отобрав этот титул у главенствующей в этом секторе CUDA." Виникає питання, чому Ви обрали саме технологію CUDA ??
Так, є можливість використовувати OpenCL, до того ж, цей фреймворк включає в себе як засоби для паралельних обчислень на процесорі, так і на відеоадаптері, але практика свідчить, що при виконанні обчислень на графічному адаптері фірми nVidia швидшою є програма, написана з використанням CUDA ( http://habrahabr.ru/post/96122/ ).
Стрічка RSS коментарів цього запису