Tachyon — это параллельное/многопроцессорное программное обеспечение для трассировки лучей . Это библиотека параллельной трассировки лучей для использования на параллельных компьютерах с распределенной памятью, компьютерах с общей памятью и кластерах рабочих станций. Tachyon реализует такие функции рендеринга, как окружающее окклюзионное освещение, фокусное размытие глубины резкости, тени, отражения и другие. Первоначально он был разработан для Intel iPSC/860 Джоном Стоуном для его диссертации в Университете Миссури-Ролла. [1] Впоследствии Tachyon стал более функциональным и полным движком трассировки лучей, и теперь он включен в ряд других пакетов программного обеспечения с открытым исходным кодом, таких как VMD и SageMath . Tachyon выпускается под разрешительной лицензией (включена в tarball).
Эволюция и особенности
Первоначально Tachyon был разработан для Intel iPSC/860 , параллельного компьютера с распределенной памятью, основанного на топологии гиперкубических соединений на базе Intel i860, раннего RISC-процессора с архитектурой VLIW и . Первоначально Tachyon был написан с использованием фирменного интерфейса передачи сообщений NX от Intel для серии iPSC, но вскоре после этого в 1995 году он был перенесен на самые ранние версии MPI. Tachyon был адаптирован для работы на платформе Intel Paragon с использованием Paragon XP/S 150 MP в Национальной лаборатории Оук-Ридж. ORNL XP/S 150 MP была первой платформой, поддерживаемой Tachyon, которая объединяла как крупномасштабную передачу сообщений распределенной памяти между узлами, так и многопоточность общей памяти в пределах узлов. Затем последовала адаптация Tachyon к различным традиционным платформам рабочих станций на базе Unix и ранним кластерам, включая перенос на IBM SP2. Tachyon был включен в код PARAFLOW CFD для визуализации объема сверхзвуковых потоков в камере сгорания in situ, выполняемой на Paragon XP/S в исследовательском центре NASA Langley, что обеспечивает значительный прирост производительности по сравнению с традиционными подходами к визуализации постобработки, которые использовались ранее. [2] Начиная с 1999 года поддержка Tachyon была включена в программу молекулярной графики VMD , и это положило начало продолжающемуся периоду совместной разработки Tachyon и VMD, где было добавлено много новых функций Tachyon специально для молекулярной графики. Tachyon использовался для рендеринга победившей категории иллюстраций изображений для конкурса визуализации NSF 2004. [3] В 2007 году Tachyon добавил поддержку окружающего окклюзионного освещения, что стало одной из функций, которые сделали его все более популярным для молекулярной визуализации в сочетании с VMD. VMD и Tachyon постепенно адаптировались для поддержки рутинных задач визуализации и анализа на кластерах, а затем и для больших петафлопсных суперкомпьютеров. Tachyon использовался для создания рисунков, фильмов и изображения на обложке журнала Nature атомной структуры капсида ВИЧ-1, решенной Чжао и др. в 2013 году на суперкомпьютере Blue Waters Petascale в NCSA, U. Illinois. [4] [5] Версии Tachyon как для CPU, так и для GPU использовались для рендеринга изображений вириона SARS-CoV-2, спайкового белка и аэрозольного вириона в трех отдельных исследовательских проектах ACM Gordon Bell COVID-19, включая проект-победитель на Supercomputing 2020, [6] и два проекта-финалиста на Supercomputing 2021. [ необходима ссылка ]
Использование в демонстрациях, обучении и сравнительном анализе параллельных вычислений
Отчасти благодаря своей переносимости на широкий спектр платформ Tachyon использовался в качестве тестового примера для множества исследовательских статей по параллельным вычислениям и компиляторам.
В 1999 году Джон Стоун помогал Биллу Магро с адаптацией Tachyon для поддержки ранних версий стандарта параллельных вычислений на основе директив OpenMP, используя компилятор KCC от Kuck and Associates. Tachyon был показан в качестве демо, выполняющего интерактивную трассировку лучей на рабочих станциях DEC Alpha с использованием KCC и OpenMP.
В 2000 году Intel приобрела Kuck and Associates Inc., [7] и Tachyon продолжал использоваться в качестве демонстрации OpenMP. Позже Intel использовала Tachyon для разработки различных примеров программирования для своей системы параллельного программирования Threading Building Blocks (TBB), где старая версия программы продолжает использоваться в качестве примера и по сей день. [8] [9]
В 2006 году Tachyon был выбран SPEC HPG для включения в набор тестов SPEC MPI 2007. [10] [11]
Помимо типичного использования Tachyon в качестве инструмента для рендеринга высококачественных изображений, вероятно, из-за его портативности и включения в SPEC MPI 2007, он также использовался в качестве тестового случая и точки сравнения для различных исследовательских проектов, связанных с параллельным рендерингом и визуализацией, [12] [13] [14] [15] [16] [17] [18] [19] [20] облачными вычислениями, [21] [22] [23] [24] [25] и параллельными вычислениями, [26] [27] [28] компиляторами, [29] [30] [31] [32] системами выполнения, [33] [34] и архитектурой компьютеров, [35] [36] [37] инструментами анализа производительности, [38] [39] [40] и энергоэффективностью систем HPC. [41] [42] [43]
На Викискладе есть медиафайлы по теме Тахион (программное обеспечение) .
Веб-сайт системы трассировки лучей Tachyon Parallel/Multiprocessor
Трассировщик тахионных лучей (встроен в VMD)
Диссертация Джона Стоуна, описывающая самые ранние версии тахионов
Ссылки
^ Стоун, Джон Э. (январь 1998 г.). «Эффективная библиотека для параллельной трассировки лучей и анимации». Магистерские диссертации .
^ Стоун, Дж.; Андервуд, М. (1996). "Рендеринг численных моделей потока с использованием MPI". Труды. Вторая конференция разработчиков MPI . стр. 138–141. CiteSeerX 10.1.1.27.4822 . doi :10.1109/MPIDC.1996.534105. ISBN978-0-8186-7533-1. S2CID 16846313.
^ Эмад Таджхоршид; Клаус Шультен. «Проникновение воды через аквапорины». Группа теоретической и вычислительной биофизики, Иллинойсский университет в Урбане-Шампейне.
^ Чжао, Гонгпу; Перилла, Хуан Р.; Юфэньюй, Эрнест Л.; Мэн, Синь; Чэнь, Бо; Нин, Цзиин; Ан, Джинву; Гроненборн, Анджела М.; Шультен, Клаус (2013). «Структура капсида зрелого ВИЧ-1 с помощью криоэлектронной микроскопии и молекулярной динамики всех атомов». Nature . 497 (7451): 643–646. Bibcode :2013Natur.497..643Z. doi :10.1038/nature12162. PMC 3729984 . PMID 23719463.
^ Стоун, Джон Э.; Исралевиц, Барри; Шультен, Клаус (2013). «Ранние опыты масштабирования задач молекулярной визуализации и анализа VMD на голубых водах». 2013 Extreme Scaling Workshop (XSW 2013) . стр. 43–50. CiteSeerX 10.1.1.396.3545 . doi :10.1109/XSW.2013.10. ISBN978-1-4799-3691-5. S2CID 16329833.
^ Casalino, Lorenzo; Dommer, Abigail C; Gaieb, Zied; Barros, Emilia P; Sztain, Terra; Ahn, Surl-Hee; Trifan, Anda; Brace, Alexander; Bogetti, Anthony T; Clyde, Austin; Ma, Heng (сентябрь 2021 г.). «Многомасштабное моделирование с использованием ИИ освещает механизмы динамики всплесков SARS-CoV-2». Международный журнал приложений высокопроизводительных вычислений . 35 (5): 432–451. doi :10.1177/10943420211006452. ISSN 1094-3420. PMC 8064023 .{{cite journal}}: CS1 maint: дата и год ( ссылка )
^ "Intel приобретает Kuck & Associates. Приобретение расширяет возможности Intel в области инструментов разработки программного обеспечения для многопроцессорных вычислений" . Получено 30 января 2016 г.
^ "Intel® Threading Building Blocks (Intel® TBB)" . Получено 30 января 2016 г. .
^ "Parallel for -Tachyon". Intel Corporation. 2009-03-09 . Получено 30 января 2016 г.
^ "122.tachyon SPEC MPI2007 Benchmark Description" . Получено 30 января 2016 г. .
^ Мюллер, Маттиас С.; Ван Ваверен, Маттейс; Либерман, Рон; Уитни, Брайан; Сайто, Хидеки; Кумаран, Кальян; Барон, Джон; Брэнтли, Уильям К.; Парротт, Крис; Элкен, Том; Фэн, Хуэйюй; Пондер, Карл (2009). "SPEC MPI2007 — набор тестов производительности приложений для параллельных систем с использованием MPI". Параллелизм и вычисления: практика и опыт : n/a. doi :10.1002/cpe.1535. S2CID 5496204.
^ Розенберг, Роберт О.; Ланзагорта, Марко О.; Щелканова, Альмадена; Хохлов, Алексей (2000). «Параллельная визуализация больших наборов данных». В Erbacher, Роберт Ф.; Чен, Филипп С.; Робертс, Джонатан С.; Виттенбринк, Крейг М. (ред.). Visual Data Exploration and Analysis VII . Том 3960. С. 135–143. doi :10.1117/12.378889. S2CID 62573871.
^ Лоулор, Orion Sky. «IMPOSTORS FOR PARALLEL INTERACTIVE COMPUTER GRAPHICS» (PDF) . MS, Университет Иллинойса в Урбане-Шампейне, 2001 . Получено 30 января 2016 .
^ "Лоулор, Орион Скай, Мэтью Пейдж и Джон Дженетти. "MPIglut: программирование powerwall стало проще." (2008)" (PDF) . Получено 30 января 2016 г.
^ Макгиган, Майкл (09.01.2008). «К графической шкале Тьюринга на суперкомпьютере Blue Gene». arXiv : 0801.1500 [cs.GR].
^ "Лоулор, Орион Скай и Джо Дженетти. "Интерактивный объемный рендеринг полярного сияния на графическом процессоре." (2011)" (PDF) .
^ Гроттель, Себастьян; Кроне, Майкл; Шарновски, Катрин; Эртл, Томас (2012). «Окклюзия окружающего пространства в объектном пространстве для молекулярной динамики». Симпозиум IEEE Pacific Visualization Symposium 2012 г. С. 209–216. doi :10.1109/PacificVis.2012.6183593. ISBN978-1-4673-0866-3. S2CID 431332.
^ Стоун, Джон Э.; Исралевиц, Барри; Шультен, Клаус (2013). «Ранние опыты масштабирования задач молекулярной визуализации и анализа VMD на голубых водах». 2013 Extreme Scaling Workshop (XSW 2013) . стр. 43–50. CiteSeerX 10.1.1.396.3545 . doi :10.1109/XSW.2013.10. ISBN978-1-4799-3691-5. S2CID 16329833.
^ Стоун, Джон Э.; Вандиворт, Кирби Л.; Шультен, Клаус (2013). "GPU-ускоренная молекулярная визуализация на петафлопсных суперкомпьютерных платформах". Труды 8-го Международного семинара по ультрамасштабной визуализации - Ultra Vis '13 . стр. 1–8. doi :10.1145/2535571.2535595. ISBN9781450325004. S2CID 18633700.
^ Сенер, Мелих и др. «Визуализация процессов преобразования энергии в органелле, собирающей свет, на атомном уровне» (PDF) . Получено 30 января 2016 г.
^ Патчин, Филипп; Лагар-Кавилла, Х. Андрес; Де Лара, Эяль; Брудно, Майкл (2009). «Добавление простой кнопки в облако с помощью Snow Flock и MPI». Труды 3-го семинара ACM по системной виртуализации для высокопроизводительных вычислений — HPCVirt '09 . стр. 1–8. CiteSeerX 10.1.1.534.7880 . doi :10.1145/1519138.1519139. ISBN9781605584652. S2CID 15380880.
^ Нил, Ричард; Карлони, Лука П.; Шабаршин, Александр; Сигаев, Валерий; Черепанов, Сергей (2011). «Виртуализация встроенных процессоров для широкополосных сетевых вычислений». 2011 IEEE/ACM 12-я Международная конференция по сетевым вычислениям . С. 145–156. CiteSeerX 10.1.1.421.5483 . doi :10.1109/Grid.2011.27. ISBN978-1-4577-1904-2. S2CID 7760113.
^ «Движок рабочего процесса для облачных вычислений», Дэниел Франц, Цзе Тао, Хольгер Мартен и Ахим Штрайт. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ 2011: Вторая международная конференция по облачным вычислениям, GRID и виртуализации». 2011: 1–6. CiteSeerX 10.1.1.456.6480 .{{cite journal}}: Цитировать журнал требует |journal=( помощь )
^ Тао, Цзе и др. (2012). «Подход к реализации для объединения межоблачных сервисов» (PDF) . Международный журнал достижений в области программного обеспечения . 5 (1&2): 65–75.
^ Нил, Ричард В. (2013). Гетерогенные облачные системы на основе широкополосных встроенных вычислений (диссертация). Колумбийский университет. doi :10.7916/d8hh6jg1.
^ Manjikian, Naraig (2010). «Изучение проблем проектирования и внедрения многопроцессорных систем с демонстрациями в классе». Труды Канадской ассоциации инженерного образования . doi : 10.24908/pceea.v0i0.3110 . Получено 30 января 2016 г.
^ Ким, Уён; Восс, М. (01.01.2011). «Программирование многоядерных настольных систем с использованием Intel Threading Building Blocks». IEEE Software . 28 (1): 23–31. doi :10.1109/MS.2011.12. ISSN 0740-7459. S2CID 14305861.
^ Tchiboukdjian, Marc; Carribault, Patrick; Perache, Marc (2012). «Иерархическое локальное хранилище: использование гибкого совместного использования пользовательских данных между задачами MPI». 2012 IEEE 26th International Parallel and Distributed Processing Symposium . С. 366–377. doi :10.1109/IPDPS.2012.42. ISBN978-1-4673-0975-2. S2CID 15232185.
^ Ghodrat, Mohammad Ali; Givargis, Tony; Nicolau, Alex (2008). "Оптимизация потока управления в циклах с использованием интервального анализа". Труды международной конференции 2008 года по компиляторам, архитектурам и синтезу для встраиваемых систем - CASES '08 . стр. 157. CiteSeerX 10.1.1.144.7693 . doi :10.1145/1450095.1450120. ISBN9781605584690. S2CID 14310352.
^ Герен, Ксавье (2010-05-12). Герен, Ксавье. Эффективный подход к разработке встроенного программного обеспечения для многопроцессорных систем на кристаллах. Дисс. Национальный политехнический институт Гренобля-INPG, 2010 (кандидатская диссертация). Национальный политехнический институт Гренобля - INPG . Получено 30 января 2016 г.
^ Миланес, Тео; Колланж, Сильвен; Кинтау Перейра, Фернандо Маньо; Мейра-младший, Вагнер; Феррейра, Ренато (01 октября 2014 г.). «Планирование потоков и объединение памяти для динамической векторизации рабочих нагрузок SPMD». Параллельные вычисления . 40 (9): 548–558. doi :10.1016/j.parco.2014.03.006.
^ Оджа, Давендар Кумар; Сикка, Гита (1 января 2014 г.). Сатапати, Суреш Чандра; Авадхани, PS; Удгата, Сиба К.; Лакшминараяна, Садашивуни (ред.). Исследование методов векторизации многоядерной SIMD-архитектуры, предоставляемой компиляторами . Достижения в области интеллектуальных систем и вычислений. Международное издательство Спрингер. стр. 723–728. дои : 10.1007/978-3-319-03107-1_79. ISBN9783319031064.
^ Кан, Микён; Кан, Дон-Ин; Ли, Сынвон; Ли, Джедон (2013). «Системная структура и API для параллельного программного обеспечения, адаптируемого во время выполнения». Труды 2013 года по исследованию адаптивных и конвергентных систем на - RACS '13 . стр. 51–56. doi :10.1145/2513228.2513239. ISBN9781450323482. S2CID 30376161.
^ Бисвас, Сусмит; Супински, Бронис Р. де; Шульц, Мартин; Франклин, Диана; Шервуд, Тимоти; Чонг, Фредерик Т. (2011). «Использование сходства данных для сокращения объема памяти». 2011 IEEE International Parallel & Distributed Processing Symposium . С. 152–163. CiteSeerX 10.1.1.294.6312 . doi :10.1109/IPDPS.2011.24. ISBN978-1-61284-372-8. S2CID 14570159.
^ Man-Lap Li; Sasanka, R.; Adve, SV; Yen-Kuang Chen; Debes, E. (2005). «Набор тестов ALPbench для сложных мультимедийных приложений». IEEE International. Труды симпозиума IEEE по характеристике рабочей нагрузки 2005 г., 2005 г. , стр. 34–45. CiteSeerX 10.1.1.79.42 . doi :10.1109/IISWC.2005.1525999. ISBN978-0-7803-9461-2. S2CID 7065621.
^ Чжан, Цзяци; Чэнь, Вэньгуан; Тянь, Синьминь; Чжэн, Вэйминь (2008). «Изучение новых приложений для транзакционной памяти». Девятая международная конференция по параллельным и распределенным вычислениям, приложениям и технологиям 2008 г. стр. 474–480. doi :10.1109/PDCAT.2008.77. ISBN978-0-7695-3443-5. S2CID 9699030.
^ "Алмалесс, Гассан и Франк Вайсбурт. "О масштабируемости параллельных приложений обработки изображений и сигналов на новых многоядерных процессорах cc-NUMA". Проектирование и архитектура для обработки сигналов и изображений (DASIP), конференция 2012 г. IEEE, 2012" (PDF) .
^ Szebenyi, Zolt´n; Wolf, Felix; Wylie, Brian JN (2011). «Анализ производительности длительно работающих приложений». IEEE International Symposium on Parallel and Distributed Processing Workshops and PHD Forum 2011. стр. 2105–2108. doi :10.1109/IPDPS.2011.388. ISBN978-1-61284-425-1. S2CID 14284392.
^ Szebenyi, Zoltán; Wylie, Brian JN; Wolf, Felix (2008-06-27). Kounev, Samuel; Gorton, Ian; Sachs, Kai (ред.). SCALASCA Parallel Performance Analyses of SPEC MPI2007 Applications . Lecture Notes in Computer Science. Springer Berlin Heidelberg. стр. 99–123. CiteSeerX 10.1.1.167.5445 . doi :10.1007/978-3-540-69814-2_8. ISBN9783540698135.
^ Вагнер, Михаэль; Кнупфер, Андреас; Нагель, Вольфганг Э. (2013). «Методы буферизации иерархической памяти для расширения трассировки событий в памяти для формата Open Trace 2». 2013 42-я Международная конференция по параллельной обработке . С. 970–976. doi :10.1109/ICPP.2013.115. ISBN978-0-7695-5117-3. S2CID 14289974.
^ Wonyoung Kim; Gupta, Meeta S.; Wei, Gu-Yeon; Brooks, David (2008). «Анализ на системном уровне быстрого DVFS на каждом ядре с использованием регуляторов переключения на кристалле». 2008 IEEE 14-й Международный симпозиум по архитектуре высокопроизводительных компьютеров . С. 123–134. CiteSeerX 10.1.1.320.879 . doi :10.1109/HPCA.2008.4658633. ISBN978-1-4244-2070-4. S2CID 538731.
^ Хакенберг, Дэниел; Шёне, Роберт; Молка, Дэниел; Мюллер, Матиас С.; Кнюпфер, Андреас (2010). «Количественная оценка изменений энергопотребления в системах HPC с использованием тестов SPEC MPI». Информатика – исследования и разработки . 25 (3–4): 155–163. дои : 10.1007/s00450-010-0118-0. S2CID 12354074.
^ Иоанну, Николас; Каушке, Михаэль; Грис, Маттиас; Синтра, Марсело (2011). «Фазовое прикладное иерархическое управление питанием на однокристальном облачном компьютере». Международная конференция по параллельным архитектурам и методам компиляции 2011 г. С. 131–142. CiteSeerX 10.1.1.644.9076 . doi :10.1109/PACT.2011.19. ISBN978-1-4577-1794-9. S2CID 11697039.