Использование многоуровневого внутреннего представления в автоматическом распараллеливании программ для многопроцессорных ЭВМ
Диссертация
Цель и задачи работы. Разработать и реализовать программно многоуровневое представление алгоритмов, отвечающее требованиям, предъявляемым к представлениям. Опробовать созданное представление — реализовать для него набор оптимизирующих и распараллеливающих преобразований разного типа. Исследовать пользовательские программы на распараллеливаемость различными методами автоматического… Читать ещё >
Список литературы
- Аллен Р., Кеннеди К. Автоматическая трансляция Фортран-программ в векторную форму. Векторизация программ: теория, методы, реализация. Сб. статей. Москва: Мир. .1991. С.77 140.
- Антонов A.C., Воеводин Вл.В. Эффективная адаптация последовательных программ для современных векторно-конвейерных и массивно-параллельных супер-ЭВМ//Программирование. 1996. №.4. С.37−51.
- Бабенко JT.K., Каляев A.B., Николаев И. А. ЦОС для решения уравнений в частных производных// Изв. СКНЦ ВШ «Техн. науки». 1980. №.3. С.37−40.
- Бабенко JI.K., Матвеева JI.K., Николаев И. А., Омаров О. М. Организация ВК на базе МВС для автоматизации физического эксперимента// Известия СКНЦВШ «Техн. науки». 1986. №.2. С.30−35.
- Бабичев A.B., Лебедев В. Г. Распараллеливание программных циклов// Программирование. 1983. N5. С.52−63.
- Брич 3. С., Капилевич Д. В., Котик С. Ю., Цагельский В. И. Фортран ЕС ЭВМ. М: Финансы и статистика. 1985. 287 с.
- Вальковский В.А. Параллельное выполнение циклов. Метод параллелепипедов//Кибернетика. 1982. N2. С. 51−62.
- Вальковский В. А! Параллельное выполнение циклов. Метод пирамид// Кибернетика. 1983. N5. С.51−55.
- Вальковский В. А. Распараллеливание алгоритмов и программ. Структурный подход. Москва: Радио и связь. 1989. 176 с.
- Вальковский В.А., Котов В. Е., Марчук А. Г., Миренков H.H. Элементы параллельного программирования. Москва: Радио и связь. 1983. 239 с.
- Вальковский В.А., Лебедев В. Г. Векторизаторы циклов// АиТ. 1989. №.8. С.3−23.
- Воеводин В. В. Математические модели и методы в параллельных процессах. Москва: Наука. 1986. 296 с.
- Воеводин Вл. В. Теория и практика исследования параллелизма последовательных программ//Программирование. 1992. №.3. С.38−54.
- Высокоскоростные вычисления Под. ред. Я. Ковалика, пер. с английского. Москва: Радио и связь. 1988. 432 с.
- Глушкова В.Н., Ильичёва O.A. Автоматизация синтаксического и контекстного анализа в СПТ// Кибернетика. 1985. №.4. С.26−28.
- Евстигнеев В. А., Кожевникова Г. П. Топологические меры сложности программ. Новосибирск. 1989. (Препринт АН СССР. Ин-т точной механики и выч. техники. Новосиб. фил.- № 23). 30 с.
- Евстигнеев В. А. О некоторых формах промежуточного представления программ// Конструирование и оптимизация программ. Сб. статей. Новосибирск: НГУ. 1995. Стр. 60−68.
- Евстигнеев В. А. Применение теории графов в программировании. Москва: Наука. 1985.
- Евстигнеев В.А., Спрогис C.B. Векторизация программ. Векторизация программ: теория, методы, реализация. Сб. статей. Москва: Мир. 1991. С.246−271.
- Евстигнеев В. А., Спрогис С. В. Векторизация программ: анализ зависимостей. Новосибирск: Препр. АН СССР. Ин-т точной механики и выч. техники. Новосиб. филиал. 1989. № 21.
- Емеличев В. А., Мельников О. И., Сарванов В. И., Тышкевич Р. И. Лекции по теории графов. М.: Наука. 1990. 384 с.
- Ершов А. П. Введение в теоретическое программирование. Беседы о ме-. тоде. Москва: Наука. 1977.
- Задыхайло И.Б., Ефимкин К. Н. Содержательные обозначения и языки нового поколения// Информационные технологии и вычислительные системы. 1996. №.2. С.46−58.
- Ильичёва O.A. Инициальная семантика логических спецификаций с отрицанием// Кибернетика и системный анализ. 1992. №.4. С.13−19.
- Ильичёва O.A. Определение языков программирования для систем построения трансляторов. Обзор. Прикладная информатика. Сб. статей. Москва: ФиС. 1987. № 1. С.87−110.
- Каляев A.B., Николаев И. А., Макаревич О. Б., Бабенко JI.K. Супер-ЭВМ с программируемой архитектурой. ЭВТ. Сб. статей. Москва: Радио и связь. 1988. вып. 2. С.36−48.
- Карп Р. Заметка о приложении теории графов к программированию для цифровых вычислительных машин// Кибернетический сборник. 1962. в.4. С.123−134.
- Касьянов В.Н. Методы оптимизации программ. Новосибирск: НГУ. 1984.92 с.
- Касьянов В. Н. Оптимизирующие преобразования программ. Моск-ва:Наука. 1988. 240 с.
- Касьянов В. Н. Теоретико-графовые задачи анализа управляющих графов транслируемых программ. Исследования по прикладной теории графов. Новосибирск:. 1986. С.9−26.
- Касьянов В. Н., Трахтенброт М. Б. Анализ структур программ в глобальной оптимизации// Всесоюзн. симпозиум по методам реализации новых алгоритмических языков. Сб. трудов. Новосибирск. 1975. часть 2. С.143−159.
- Коновалов H.A., Крюков В. А., Погребцов A.A. Сазанов Ю.Л. C-DVM -язык разработки мобильных параллельных программ. Москва: Препринт ИПМ им. М. В. Келдыша РАН. 1997. № 86. 30 с.
- Крицкий С.П. Логико-грамматические средства спецификации и реализации языков программирования// Канд. дисс. Ростов-на-Дону, 1990. 125 с.
- Крицкий С.П. Логические средства проектирования языкового интерфейса// Тезисы докладов конференции «Диалог «Человек-ЭВМ». Часть 2. Свердловск. 1989. С.30−32.
- Крицкий С.П. Предикативные грамматики в интеллектуальных систе-мах//Всесоюзн. научно-практич. семинар «Интеллектуальное программное обеспечение ЭВМ». 13−19 мая 1990. Тезисы докладов. 4.1. Ростов-на-Дону-Терскол, 1990. С. 56−57.
- Крукиер Л.А., Гипский Н. В. ППП «ЭКОМОД». Вычислительные технологии. Сб. статей. Новосибирск: ИВТ СО РАН. 1995. т.4. N 10. С. 111−130.
- Лазарева С. А. Многоуровневое представление программ и его использование в автоматическом распараллеливании// Математическое моделирование. 1997. т.9. №.2. С.31−33.
- Лазарева С.А., Ячменёва H.H. Автоматическое распараллеливание циклов с двумерными массивами для выполнения на суперкомпьютерах сраспределённой памятью (на примере умножения матриц)// Математическое моделирование (принята к публикации). 8 с.
- Логический подход к искусственному интеллекту: от классической логики к логическому программированию. Москва: Мир. 1990. с. 432.
- Макаллистер Дж. Искусственный интеллект и Пролог на микроЭВМ. Москва: Машиностроение. 1990. Пер. с англ. под ред. М. В. Сергиевского. 240 с.
- Макаревич О.Б., Бабенко Л. К. и др. Супер ЭВМ с программируемой архитектурой// Электронная вычислительная техника. М.: Радио и связь. 1988. Вып.2. С. 161−171
- Малпас Дж. Реляционный язык Пролог и его применение. Москва: Наука. 1990. Пер. с англ. под ред. В. Н. Соболева. 464 с.
- Немнюгин С.A. Turbo Pascal. СпБ: ПИТЕР. 1999. 496 с.
- Николаев И.А., Бабенко Л. К., Макаревич О. Б. Архитектура МВС на базе ЕС ЭВМ и СП, ориентированного на решение задач мат. физики// Высокопроизводительные вычисления. Сборник тезисов II всесоюзного совещания. Батуми. 1984. С.65−66.
- Николаев И.А., Бабенко Л. К., Макаревич О. Б. Базовая ВС на основе потоковой машины для решения задач ВЭ// Перспективы развития ВС. Материалы II всесоюзного семинара. Рига. 1985. С.36−37.
- Николаев И.А., Крукиер Л. А. Проект ППП РАСЕРАСК// Однородные вычислительные среды и систолические структуры. Сборник тезисов докладов 1-ой Всесоюзной конференции. Львов. 17−20 апреля 1990. Львов: ИППМиМ. 1990. т.З. С. 158−163.
- Николаев И.А., Крукиер Л. А., Муратова Г. В., Тихонов А. Н. ППП РАСЕРАСК для решения эллиптических краевых задач на современных ЭВМ. Вычислительные технологии. Сб. статей. Новосибирск: Ин-т выч. техн. СО РАН. 1993. т.2, N 6. С.220−231.
- Николаев И.А., Фомина Н. И., Бабенко Л. К. Параллельная система программирования МВС// Изв. ВУЗов СССР. Приборостроение. 1986. №.2. С.43−44.
- Падуа Д., Вольф М. Оптимизация в компиляторах для суперкомпьютеров. Векторизация программ: теория, методы, реализация. Сб. статей. Москва: Мир. 1991. С. 7−47.
- Пакулев В. В. Сложность анализа параллельных структур произвольных фортрановских циклов. Москва: ОВМ АН СССР. 1989. Препринт № 225. 20 с.
- ПЛ/1 ВК ЭВМ. Руководство программиста версия транслятора 4.6. март, 1987. 92 с.
- Поттосин И. В. К обоснованию алгоритмов оптимизации программ// Программирование. 1979. №.2.
- Поттосин И. В. О контекстных условиях объединения и расчленения циклов. Сб. Языки и системы программирования. Новосибирск: препринт ВЦ СО РАН. 1979.
- Поттосин И.В. Оптимизирующие преобразования и их последовательность. Системное программирование. Новосибирск:. 1973. часть 2. С.128−137.
- Поттосин И.В., Юргинова О.В Обоснование преобразования чистки циклов//Программирование. 1980. №.5. С.3−16.
- Прангишвили И.В., Виленкин С. Я., Медведев И. Л. Параллельные вычислительные системы с общим управлением. Москва: Энергоатомиздат. 1983.312 с.
- Проблемы системного и теоретического программирования Сборник научных трудов. Новосибирск: НГУ. 1984. 172 с.
- Сб. статей. Векторизация программ: теория, методы, реализация. Москва: «Мир». 1991.272 с.
- Симонович И.В., Крукиер JI.A. Модульный анализ алгоритмов решения сеточных уравнений и требования к языкам программирования. Вычислительные системы и алгоритмы. Ростов-на-Дону: РГУ. 1983. С.74−86.
- Симонович И.В., Крукиер JI.A. Модульный анализ итерационных алгоритмов для решения сеточных уравнений на многопроцессорных вычислительных комплексах// Спецпроцессоры параллельного действия. Тезисы докладов Всесоюзного семинара. Рига: РПИ. 1981.
- Страуструп Бьерн. Язык программирования С++ (3 издание). СпБ: Невский Диалект. 1999. 991 с.
- Трахтенгерц Э.А. Программное обеспечение параллельных процессов. Москва: Наука. 1987.
- Французов Ю. А. Обзор методов распараллеливания кода и программной конвейеризации//Программирование. 1992. №.3. С. 16−37.
- Хожайнова (Лазарева) С. А. Статистические данные о распараллеливае-мости программ//Смешанные вычисления и преобразования программ. Сборник трудов конференции. Новосибирск. 27−29 ноября 1990 г., Новосибирск: ВЦ СО РАН, 1991, С.237−242.
- Штейнберг Б. Я. Бесконфликтные размещения массивов при параллельных вычислениях// Кибернетика и системный анализ. 1999. № 1, с. 166−178.
- Штейнберг Б. Я. Оптимальные параллельные переразмещения двумерных массивов//Программирование. № 6. 1993. С.81−88.
- Штейнберг Б. Я. Преобразования программ и граф информационных связей. Ростов-на-Дону: УПЛ РГУ. 1997. 23 с.
- Штейнберг Б.Я. Распараллеливание рекуррентных циклов с условными операторами// Автоматика и телемеханика. 1995. №.6. С. 176−184.
- Штейнберг Б. Я. Распараллеливающие и оптимизирующие преобразования программных циклов. Ростов-на-Дону: УПЛ РГУ. 1997. 23 с.
- Языки и параллельные ЭВМ. Москва: Наука. 1990. серия Алгоритмы и алгоритмические языки. 93 с.
- Abu-Sufah W., Kuck D.J., Lawrie D.H. On the performance enhancement of paging systems through program analysis and transformations// IEEE Trans. Comput. 1981. Vol. C-30. No.5. P.341−356.
- Aho A. V., Sethi R., Ullman J. D. Compilers: Principles, Techniques and Tools. Addison-Wesley: Reading a. o. 1986.
- Allen J.R., Baumgartner D., Kennedy K., Porterfield A. PTOOL: a semiautomatic parallel programming assistant// Int. Conf. on Parallel Processing. Proc. 1986. Washington, D.C.: IEEE Сотр. Soc. Press. 1986. P. 164−170.
- Allen J. R., Kennedy K. Automatic Loop Interchange// Proc of ACM SIG-РЬА>Г84. Symposium on Compiler Construction. Montreal, Canada. June 1984. SIGPLAN NOTICES 19. Vol.6. P.233−246.
- Alpern B ., Wegman M. N., Zadek F. K. Detecting equality of values in programs// Conf. Ree. Fifteenth ACM Symp. on Principles of Progr. Lang. Jan. 1988. New-York: ACM. P. 1−11.
- Alpern B., Wegman M. N., Zadek F. K. Global value numbers and redundant computations// Conf. Ree. Fifteenth ACM Symp. on Principles of Progr. Lang. Jan. 1988. New-York: ACM. P.12−21.
- Baneijee U., Chen S. C., Kuck D., Towle R. Time and Parallel Processor Bounds for Fortran-like Loops// IEEE Trans, on Computers. 1979. C-28. No.9. P.660−670.
- Burke M., Cytron R. Interprocedural Dependence Analysis and Parallelization // SIGPLAN Notices. 1986. Vol.21 (7). No.7. P.162−175. «
- Butler R. and Lusk E. Monitors, Messages, and Clusters: The P4 Parallel Programming System// Parallel Computing. 1994. No.20. P.547−564.
- Calkin R., Hempel R., Hoppe H. and Wypior P. Portable Programming with the PARMACS Message-Passing Library// Parallel Computing. Special issueon massage-passing interfaces. 1994. No.20. P.615−632.
- Cohagen W.L. Vector optimization for the ASC// The Seventh Annual Princeton Conference on Information Sciences and Systems. Proc,. Dept. of Electrical Engineering, Princeton, N.J. 1973. P. 169−174.
- Cowell W. R., Thompson C. P. Transforming Fortran DO Loops to Improve Performance on Vector Architectures// ACM Transactions on Mathematical Software. 1986. Vol.12. No.4. P.324−353.
- Cytron R. Doacross: Beyond Vectorization for Multiprocessors // Proc. of International Conf. Parallel Process. 19−22 Aug, 1986. P.836−844.
- Cytron R. and e. a. Efficiently computing static single assignment form and the control dependence graph// ACM TOPLAS. 1991. Vol.13. No.4. P.451−490.
- Dongarra J. J.,'Duff I. S., Sorencen D. C., van der Vorst H. A. Numerical Linear Algebra for High-Performance Computers. Philadelphia: SIAM. 1998. 342 p.
- Eijkhout V., Vassilevski P. Positive definiteness aspects of vectorizable pre-conditioners// Parallel Computing. 1989. Vol.10. No.l. P.93−100.
- Express User’s Guide, version 3.2.5., Monrovia, CA: Parasoft Corporation. 1992. .
- Ferrante J., Ottenstein K. J., Warren J. D. The Program Dependence Graph and Its Use in Optimization// ACM Transactions on Programming Languages• and Systems. 1987. Vol.9. No.3.P.319−349.
- Gary J., Fosdick.L. An optimizing precompiler for finite-difference computations on a vector computer// Parallel Computing. 1989. Vol.10. No.l. P.51−64.
- Geist A., Beguelin A., Dongarra J., Jiang W., Manchek R. and Sunderam V. PVM: A Users» Guide and Tutorial for Networked Parallel Computing.: MIT Press. 1994. Существует электронная версия книги. URL ftp— ://www.netlib.org/pvm3/book/pvm-book.ps.
- Girkar M., Polychronopoulos C. D. The HTG: An intermediate representation for program based on control and data dependencies. Urbana-Champaign: Univ. of Illinois. May 1991. CSRD Rep. 1046.
- Griffin H. Elementary Theory of Numbers. New York: McGraw-Hill. 1954.
- Kirch A. M. Elementary Number Theory. New York: Intext. 1974.
- Kuck D. The structure of computers and computation. New York, NY: John Wiley and Sons, Inc. 1978. Vol. 1.
- Kuck D. J., Kuhn R.H.,. Padua D.A., Leasure В., Wolfe M. Dependence graphs and compiler optimizations// 8th ACM Symp. on Principles of Progr. Lang. Proc. Williamsburg, Va. Jan. 26−28. 1981. P.207−218.
- Kuhn R.H. Optimization and interconnection complexity for parallel processors, single-stage .networks and decision trees. Ph. D. thesis. Rep 801 009: Univ. of Illinois at Urbana-Champaign. 1980.
- Lamport L. The coordinate method for the parallel execution of DO-loops. -S agamore computer conference on parallel processing, 1973.
- Lamport L. The parallel execution of DO loops// Commun. ACM. 1974. Vol.17. No.2. P.83−93.
- Lapkowski C. Symbolic Manipulation for Array Dependence Testing. Montreal: McGill University. 1995. ACAPS Project № 621.1994.11. 16 p.
- Lastovetsky A. mpC a Multi-Paradigm Programming Language for Massively Parallel Computers// ACM SIGPLAN Notices. 1996. Vol.31. No.2. P.13−20.
- Lazareva S. A. The multy-level program representation and its use in automatic parallelization// Abstracts of EMMNA'99. The international Conference on Environmental Mathematical Modeling and Numerical Analysis. Rostov on Don, May 24−31, 1999, p. 27
- Loveman D.B. Program improvement by source-to-source transformation// J. ACM. 1977. Vol.24. No.l. P.121−145.
- Message Passing Interface Forum. MPI: A Message-Passing Interface Standard // Int. J. Supercomputer Applications. 1994. No.8. (¾). Special issue on MPI. Существует электронная версия. URL ftp://www.netlib.org/mpi/mpi-report.ps.
- Partch H., Steinbruggen R. Program transformation systems// ACM Computer Survey. 1983. Vol.15. No.3. P.199−236.
- Pereira F., Warren D. Definite clause grammars for language analysis a survay of formalism and comparison with augment transition networks// Artificial intelligence. 1980. Vol.13. P.231−278.
- Pingali K. Dependence flow graphs: An algebraical approach to program dependencies. Cornell Univ. Dept. Comp. Sci. Tech. Rep. 90−152. Sept. 1990.
- Polychronopoulos C., Baneijee U. Processor allocation for horizontal and vertical parallelizm and related speedup bounds// IEEE Transactions on computers. 1987. Vol. C-36. No.4. P. 410−420.
- Polychronopoulos C. D., Kuck D J., Padua D. A. Execution of parallel loops on parallel processor systems// Proc. of International Conf. Parallel Process. 19−22 Aug. 1986. P.519−527.
- Ruppelt Th., Wirtz G. Automatic transformation of high-level object-oriented specifications into parallel programs// Parallel Computing. 1989. Vol.10 No.l.P. 15−28.
- Scarborough R. G., Kolsky H. G. A vectorizing Fortran compiler// IBM J. Res. Develop. 1986. Vol.30. No.2. MARCH. P.163−171.
- Skjellum A. and Leung A. Zipcode: a Portable Multicomputer Communication Library atop the Reactive Kernel. In D.W. Walker and Q.F. Stout editors// Fifth Distributed Memory Concurrent Computing Conference. Proceedings. IEEE Press. 1990. P.767−776.
- Tomasulo R.M. An Efficient Algorithm for Exploding Multiple Arithmetic Units// IBM J. of Res. and Devel. 1967. Vol.11. No.l. P.25−33.
- The Arity/Prolog Language reference manual. Concord, Massachusetts: Ar-ity Corporation. 1988. 320 p.
- Wang S. S., Uht A. K. Program optimization with ideo graph// Intern. Conf. on Parallel Processing. Proc. 1989. C. 153−159.
- Weiss S., Smith J.I. Instruction Issue Logic in Pipelined Supercomputers// IEEE Trans. Comput. 1984. Vol. C-33. No. l 1. P.1013−1122.147
- Wolfe M., Baneijee U. Data Dependence and Its Application to Parallel Processing// International Journal of Parallel Programming. 1987. Vol.16. No.2. P. 137−178.
- Zabrodin A.V., Levin V.K., Korneev V.V. The Massively Parallel Computer System MVS-100// Third International Conference PaCT-95. Parallel Computing Technologies: Springer 964. 1995. P.341−356.
- Zima H. P., Bast H-J., Gerndt M., Hoppen P. J. Semi-Automatic paralleliza-tion of Fortran Programs// CONPAR, 86. Conf. Proc. Aachen. 1986. Vol.237. P.287−264.