- •Курс лекций
- •Оглавление
- •1. Архитектура и принципы работы обычных эвм с центральным процессором (cpu) 9
- •2. Методы повышения производительности традиционных эвм 27
- •3. Типы архитектур высокопроизводительных вычислительных систем 45
- •4. Потоковые параллельные вычисления для физического моделирования 62
- •5. Применение графических процессоров на примерах сложения матриц и решения дифференциальных уравнений 82
- •6. Молекулярная динамика на графическом процессоре 100
- •7. Высокоскоростное моделирование систем с дальнодействием 125
- •8. Восстановление потенциалов межчастичных взаимодействий по температурной зависимости периода решетки методами высокоскоростного мдм на графических процессорах 145
- •9. Базовые особенности программирования графических процессоров шейдерной модели 4.0 160
- •Введение
- •1.Архитектура и принципы работы обычных эвм с центральным процессором (cpu)
- •1.1.Структура традиционной эвм
- •1.2.Организация работы эвм
- •1.3.Иерархия памяти компьютера
- •1.4. Выполнение команд
- •1.5.Требования к коммуникационным линиям
- •1.6.Устройства ввода-вывода
- •2.Методы повышения производительности традиционных эвм
- •2.1. Распараллеливание расчетов
- •2.2.Конвейерная обработка данных и команд
- •2.3.Высокопроизводительные процессоры
- •2.3.1.Суперскалярные процессоры
- •2.3.2.Процессоры risc с сокращенным набором команд
- •2.3.3.Процессоры со сверхдлинным командным словом
- •2.3.4.Векторные процессоры
- •2.3.5.Процессоры для параллельных компьютеров
- •2.3.6.Процессоры с многопоточной архитектурой
- •2.3.7.Технология Hyper-Threading
- •2.4.Требования к памяти высокопроизводительных эвм
- •2.5.Коммуникационная сеть высокопроизводительных эвм
- •2.5.1.Статические и динамические топологии и маршрутизация коммуникационных систем
- •2.5.2.Многокаскадные сети и методы коммутации
- •2.6.Классификация архитектур параллельных компьютеров
- •3.Типы архитектур высокопроизводительных вычислительных систем
- •3.1.Simd архитектура (с разделяемой и распределенной памятью)
- •3.2. Mimd архитектура с разделяемой и распределенной памятью
- •3.3. Комбинированные системы
- •3.4. Мультипроцессорные и мультикомпьютерные системы
- •3.5.Кластеры пэвм и рабочих станций
- •3.6.Особенности параллельного программирования
- •4.Потоковые параллельные вычисления для физического моделирования
- •4.1.Общие принципы распараллеливания расчётов
- •4.2.Обмен данными между процессором и памятью
- •4.3.Графические процессоры как вычислительные системы для поточно-параллельных расчётов
- •4.3.1.Вычислительные возможности центральных процессоров общего назначения и графических процессоров
- •4.3.2.Графический конвейер
- •4.3.3.История программируемости графических процессоров
- •4.3.4.Требования к алгоритмам для gpu, поддерживающих шейдерную модель 3.0
- •4.3.5.Возможности gpu в рамках шейдерной модели 3.0 и взаимодействие gpu с памятью
- •4.3.6.Проблема одинарной точности
- •4.4.Средства программирования графических процессоров
- •4.4.1.Общая структура программы для физического моделирования на графическом процессоре
- •4.4.2.Необходимое программное обеспечение
- •4.5.Области использования графических процессоров
- •5.Применение графических процессоров на примерах сложения матриц и решения дифференциальных уравнений
- •5.1.Распараллеливание независимых вычислений
- •5.2.Используемый графический процессор
- •5.3.Представление данных для графического процессора
- •5.4.Программирование вычислительного ядра
- •5.5.Взаимодействие центрального и графического процессоров
- •5.5.1.Функции центрального процессора
- •5.5.2.Пример программы
- •6.Молекулярная динамика на графическом процессоре
- •6.1.Принципы моделирования ионных кристаллов методом молекулярной динамики
- •6.2.Программирование графического процессора для расчёта действующих на ионы результирующих сил
- •6.2.1.Исходные данные
- •6.2.2.Представление исходных данных для gpu
- •6.2.3.Алгоритм расчёта результирующих сил с использованием графического процессора
- •6.2.4.Шейдер для расчёта результирующей силы
- •6.3.Исполнение шейдера из программы мд-моделирования на c#
- •6.3.1.Этапы алгоритма моделирования, исполняемые на cpu
- •6.3.2.Процедуры на c#, обеспечивающие работу с графическим процессором
- •6.4.Постановка граничных условий и стабилизация макросостояния молекулярно-динамической системы
- •6.4.1.Компенсация импульса и момента импульса
- •6.4.2.Стабилизация температуры
- •7.Высокоскоростное моделирование систем с дальнодействием
- •7.1.Актуальность моделирования
- •7.2.Высокоскоростные алгоритмы моделирования систем с дальнодействующими силами
- •7.3.Методика высокоскоростного молекулярно-динамического моделирования диоксида урана
- •7.4.Экспериментальные результаты и их обсуждение
- •7.5.Анализ зависимостей среднего квадрата смещений ионов кислорода от времени
- •8.Восстановление потенциалов межчастичных взаимодействий по температурной зависимости периода решетки методами высокоскоростного мдм на графических процессорах
- •8.1.Задача восстановления потенциалов межчастичных взаимодействий в кристаллах
- •8.2.Исходные данные и метод восстановления потенциалов
- •8.3.Модель и детали реализации
- •9.Базовые особенности программирования графических процессоров шейдерной модели 4.0
- •9.1.Предпосылки появления новой шейдерной модели
- •9.2.Архитектура gpu шейдерной модели 4.0. Преимущества этой модели
- •9.2.1.Иерархия вычислительных блоков и памяти в шейдерной модели 4.0
- •9.2.2.Конвейерная обработка данных на gpu sm4
- •9.2.3.Логическая структура вычислений на gpu sm4
- •9.2.4.Преимущества gpu шейдерной модели 4.0
- •9.3.Средства высокоуровневого программирования gpu шейдерной модели 4.0
- •9.3.1.Совместимость с шейдерной моделью 3.0
- •9.3.2.Специальные средства программирования gpu sm4. Cuda
- •9.3.3.Средства для написания и компиляции программ на cuda
- •9.3.4.Структура программы на cuda
- •9.4.Перемножение матриц на cuda
- •9.4.1.Алгоритм перемножения матриц
- •9.4.2.Процедура перемножения матриц на gpu sm4
- •9.4.3.Вызов процедуры перемножения матриц из программы на c
- •9.5.Молекулярная динамика на cuda
- •9.5.1.Алгоритм с использованием разделяемой памяти
- •9.5.2.Расчёт сил на gpu с использованием 3-го закона Ньютона
- •Библиографический список
- •Приложение 1 Операторы и функции языка hlsl, использованные в курсе лекций п.1.2. Типы данных
Библиографический список
Структура и принципы функционирования ЭВМ // http://dvoika.net/education/informat/eu_intro/i4.htm. 2008. 7с.
Коньков К.А., Карпов В.Е. Основы операционных систем. Курс лекций / К.А. Коньков, В.Е. Карпов. Интернет-университет информационных технологий. http://www.intuit.ru/department/os/osintro/8/. 2008. 76с.
Дацюк В.Н., Букатов А.А., Жегуло А.И. Методическое пособие по курсу "Многопроцессорные системы и параллельное программирование" / В.Н. Дацюк, А.А. Букатов, А.И. Жегуло. Ростовский государственный университет. http://rsusu1.rnd.runnet.ru/tutor/method/m1/page09_3.html. 2008. 225с.
Ершова Н.Ю., Соловьев А.В. Организация вычислительных систем. Курс лекций / Н.Ю. Ершова, А.В. Соловьев. Интернет-университет информационных технологий. http://www.intuit.ru/department/hardware/csorg/10/. 2008. 102с.
Кузьминский М. Tera Computer // Computerworld. 1997. №37. C. 240. http://www.osp.ru/cw/1997/37/24023/
Воеводин В.В. Параллельная обработка данных. Курс лекций / В.В. Воеводин. Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ. 2008. 78с. http://parallel.ru/vvv/lec4.html
Семенов Ю.А. Алгоритмы и протоколы каналов и сетей передачи данных. Курс лекций / Ю.А. Семенов. Интернет-университет информационных технологий. http://www.intuit.ru/department/network/algoprotnet/10/. 2007. 95с.
Богданов А.В., Станкова Е.Н., Мареев В.В., Корхов В.В. Архитектуры и топологии многопроцессорных вычислительных систем. Курс лекций / А.В. Богданов, Е.Н. Станкова, В.В. Мареев, В.В. Корхов. Интернет-университет информационных технологий. http://www.intuit.ru/department/hardware/atmcs/6/. 2008. 96с.
Богданов А., Мареев В., Станкова Е., Корхов В. Лекция 2. Архитектура вычислительных систем. // Архитектуры и топологии многопроцессорных вычислительных систем. Электронный учебник / А. Богданов, В. Мареев, Е. Станкова, В. Корхов. http://www.informika.ru/text/teach/topolog/2.htm. 2008. 96с.
Озеров С. Параллельное программирование // Компьютера Online. 2005. http://www2.computerra.ru/hitech/242551/ 8c.
Немнюгин С.А., Стесик О.Л. Параллельное программирование для многопроцессорных вычислительных систем / С.А. Немнюгин, О.Л. Стесик. СПб.: БХВ-Петербург, 2002. 400 с.
Воробьев А., Медведев A. Наступление ATI Technologies продолжается: RADEON X1900 XTX/XT (R580) // http://www.ixbt.com/video2/r580-part1.shtml. 2006. 6с.
Kirk D, Hwu W. Programming Massively Parallel Processors / D. Kirk, W. Hwu. ECE 498AL1, University of Illinois, Urbana-Champaign, 2007.
Графический конвейер / http://ru.wikipedia.org/wiki/ - Википедия. 2008. 19с.
Лаборатория Параллельных информационных технологий НИВЦ МГУ. История развития / http://parallel.ru/ - Информационно-аналитический центр по параллельным вычислениям. 2008. 2с.
Медведев А. NVIDIA GeForce 7800 GTX 256MB PCI-E. Часть 1 - Теория и архитектура // http://www.ixbt.com/video2/g70-part1.shtml. 2005. 10с.
P. Gibbon, G. Sutmann, Long-Range Interactions in Many-Particle Simulation, Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms, Lecture Notes, J. Grotendorst, D. Marx, A. Muramatsu (Eds.), NIC Series, Vol. 10, 467–506, (2002).
Amara G. Amara's Recap of Particle Simulation Methods // http://www.amara.com/ftpstuff/nbody.txt. 2008. 23c.
P. P. Ewald, Die Berechnung optischer und elektrostatischer Gitterpotentiale, Ann. Phys. 64, 253 (1921).
J. W. Perram, H. G. Petersen, and S. W. D. Leeuw, An algorithm for the simulation of condensed matter which grows as the N3/2 power of the number of particles, Mol. Phys. 65, 875–893 (1988).
C. K. Birdsall and A. B. Langdon, Plasma Physics via Computer Simulation, (McGraw-Hill, New York, 1985).
Хокни Р., Иствуд Дж. Численное моделирование методом частиц. Пер. с англ. М.: Мир 1987. 640 с. / R.W. Hockney and J.W. Eastwood, Computer Simulation Using Particles, Institute of Physics Publishing. 1988. 650 с.
J. Barnes and P. Hut, A hierarchical O(NlogN) force-calculation algorithm, Nature 324, 446–449 (1986).
L. Hernquist, Hierarchical N-body methods, Comp. Phys. Commun. 48, 107–115 (1988).
L. Greengard and V. Rokhlin, A fast algorithm for particle simulations, J. Comp. Phys. 73, 325–348 (1987).
H. Cheng, L. Greengard, and V. Rohklin, A fast adaptive multipole algorithm in three dimensions, J. Comp. Phys. 155, 468–498 (1999).
K. E. Schmidt and M. A. Lee, Implementing the fast multipole method in three dimensions, J. Stat. Phys. 63, 1223–1235 (1991).
K. Esselink, A comparison of algorithms for long-range interactions, Comp. Phys. Commun. 87, 375–395 (1995).
R. K. Kalia, S. de Leeuw, A. Nakano and P. Vashishta, Molecular dynamics simulations of Coulombic systems on ditributed-memory MIMD machines, Comp. Phys. Commun. 74, 316–326 (1993).
J. V. L. Beckers, C. P. Lowe, and S. W. de Leeuw, An iterative PPPM method for simulating Coulombic systems on distributed memory parallel computers, Mol. Sim. 20, 369–383 (1998).
L. Greengard and W. D. Groop, A parallel version of the fast multipole method, Comp. Math. Applic. 20, 63–71 (1990).
Warren, M. S., J. K. Salmon, and D. J. Becker. 1997. Pentium Pro inside: I. A treecode at 430 Gigaflops on ASCI Red; II. Price/performance of $50/Mflop on Loki and Hyglac. Proc. Supercomputing '97, November, online at http://www.supercomp.org/sc97/proceedings
Walker J.R. and Catlow C.R. Structural and dynamic properties of UO2 at high temperatures, J. Phys. C. Solid State Phys., v.14, 979–983 (1981).
Купряжкин А.Я. и др. Моделирование нестехиометрической двуокиси урана методом молекулярной динамики. Часть II. / А.Я. Купряжкин, К.А. Некорасов, А.Н. Жиганов. Отчет по НИР УрО АТН РФ, Екатеринбург, 2004. 63с.
Matzke H. Nonstoichiometric oxides, Ed. O. Toff Sorensen. New York, 155–232 (1981).
Купряжкин А.Я., Жиганов А.Н., Рисованый Д.В., Рисованый В.Д., Голованов В.Н. Диффузия кислорода в диоксиде урана в области фазовых переходов, ЖТФ, 2004, т. 74, вып. 2
Thermophysical Properties Database of Materials for Light Water Reactors and Heavy Water Reactors // IAEA-TECDOC-1496, 2006, ISBN 92-0-104706-1. http://www-pub.iaea.org/MTCD/publications/PDF/te_1496_web.pdf
Molecular dynamics // http://en.wikipedia.org/wiki/Molecular_dynamics - Википедия. 2008. 13с.
Sindzingre P., Gillan M.J. A molecular dynamics study of solid and liquid UO2 // J. Phys. C: Solid State Phys. 1988. V. 21, P. 4017-4031.
Karakasidis T., Lindan P.J.D. A comment on a rigid-ion potential for UO2 // J. Phys.: Cond. Matter. 1994. V. 6, P. 2965-2969.
Walker J.R., Catlow C.R.A. Structural and dynamic properties of UO2 at high temperatures // J. Phys. C: Solid State Phys. 1981 V. 14, L. 979-983.
Busker G., Chroneos A., Grimes R.W. Solution mechanisms for dopant oxides in yttria // J. American Ceramics Soc. 1999. V. 82. P. 1553–1559.
Morelon N-D., Ghaleb D., et al. A new empirical potential for simulating the formation of defects and their mobility in uranium dioxide // Phil. Mag. 2003. V. 83. P. 1533–1550.
Gibbon P., Sutmann G.. Long-Range Interactions in Many-Particle Simulation, Quantum Simulations of Complex Many-Body Systems: From Theory to Algorithms, Lecture Notes, J. Grotendorst, D. Marx, A. Muramatsu (Eds.) // NIC Series. 2002. V. 10. P. 467–506.
Ryabov V.А. Constant pressure–temperature molecular dynamics on a torus // Physics Letters A. 2006. V. 359. P. 61–65.
Интегрирование Верлета // http://en.wikipedia.org/wiki/Verlet integration - Википедия. 2008. 6с.
Allen М.Р., Tildesley D.J. Computer simulations of liquids // M.P. Allen, D.J. Tildesley. New York: Oxford University Press Inc. 1987. 479c.
Brent R.P. An algorithm with guaranteed convergence for finding a zero of a function // Computer Journal. 1971. V 14. P. 422–425.
Nelder J.A., Mead R. A simplex method for function minimization // Computer Journal 1965. V. 7 P. 308–313.
Kurosaki K., Yamada K. et al. Molecular dynamics study of mixed oxide fuel // J. Nucl. Mater. 2001. V. 294 P. 160-167.
Basak C.B., Sengupta A.R., Kamath H.S. Classical molecular dynamics simulation of UO2 to predict thermophysical properties // J. of Alloys and Compounds. 2003. V. 360 P. 210–216.
Поташников C.И., Боярченков А.С. и др. Высокоскоростное моделирование диффузии ионов урана и кислорода в UO2 // Труды отраслевого семинара «Реакторное материаловедение», Димитровград. 2005.
Поташников C.И., Боярченков А.С. и др. Поточно-параллельное моделирование диффузии в нанокристаллах // Труды XII Национальной конференции по росту кристаллов «НКРК-2006», Институт кристаллографии РАН (2006).
Поташников C.И., Боярченков А.С. и др. Моделирование массопереноса в диоксиде урана методом молекулярной динамики с использованием графических процессоров // Международный научный журнал «Альтернативная энергетика и экология». 2007. Т. 5 С. 86–93. http://isjaee.hydrogen.ru/pdf/AEE0507/ISJAEE05-07_Potashnikov.pdf
Potashnikov S.I., Boyarchenkov A.S. et al. Molecular dynamic modeling of mass transport and empirical fitting of pair potentials in nuclear oxide fuel using graphics processing units // Proceedings of the 8th Russian Conference on “Reactor Materials”, Dimitrovgrad. 2007.
Majumdar S. N., Sengupta A.M. Thermo Physical and Thermo Mechanical Properties of Nuclear fuel for Thermal and Fast Reactor // IANCAS Bulletin on Nuclear Materials. 2005. V. 4. P. 226–236.
Fritz I.J. Elastic properties of UO2 at high pressure // J. of Applied Physics. 1976. V 47. P. 4353–4358.
Freeman G.C., Benson P.I., Dempsey E.L. Calculation of cohesive and surface energies of thorium and uranium oxides // J. of the American Ceramics Society. 1963. V. 46. P. 43-47.
Browning P., Hyland G.J., Ralph J. The origin of the specific heat anomaly in solid urania // High Temperatures-High Pressures. 1983. V. 15. P. 169-178.
Matzke Hj. Atomic transport properties in UO2 and mixed oxides (U,Pu)O2 // J. Chem. Soc. Faraday Trans. 1987. V. 83. P. 1121–1142.
Potashnikov S.I., Nekrassov K.A. et al. Investigation of mechanisms of structural disordering of uranium dioxide with methods of molecular dynamics, lattice statics // Proceedings of the 8th Russian Conference on “Reactor Materials”, Dimitrovgrad (2007).
Ralph J. Specific Heat of UO2 , ThO2 , PuO2 and the Mixed Oxides by Enthalpy Data Analysis // J. Chem. Soc. Faraday Trans. 1987. V. 83. P. 1253–1262.
Ronchi C., Hyland G.J. Analysis of recent measurements of the heat capacity of uranium dioxide // J. of Alloys and Compounds 1994. V. 213/214. P. 159–168.
Hutchings M.T. High-temperature studies of UO2 and ThO2 using neutron scattering techniques // J. Chem. Soc. Faraday Trans. 1987. V. 83. P. 1083–1103.
Hiernaut J.P., Hyland G.J. Premelting transition in uranium dioxide // Int. J. Thermophys. 1993. V. 14. P. 259–283.
Поташников С.И., Боярченков А.С. и др. Молекулярно-динамическое восстановление межчастичных потенциалов в диоксиде урана по тепловому расширению // Международный научный журнал «Альтернативная энергетика и экология» 2007. Т. 8. С. 43–52.
NVIDIA Corp. CUDA Technical Training / NVIDIA Corp. 2701 San Tomas Expressway, Santa Clara, CA 95050: NVIDIA Corp. www.nvidia.com. 2008. 146 c.
NVIDIA Corp. NVIDIA CUDA Compute Unified Device Architecture. Programming Guide Version 2.0 / NVIDIA Corp. 2701 San Tomas Expressway, Santa Clara, CA 95050: NVIDIA Corp. www.nvidia.com. 2008. 107 c.
Боярченков А.С., Поташников С.И. Использование графических процессоров и технологии CUDA для задач молекулярной динамики // Вычислительные методы и программирование. Новые вычислительные технологии. http://num-meth.srcc.msu.su. 2008.