<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">ellibs</journal-id><journal-title-group><journal-title xml:lang="ru">Электронные библиотеки</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Digital Libraries Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1562-5419</issn><publisher><publisher-name>Казанский (Приволжский) федеральный университет</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.26907/1562-5419-2020-23-4-866-886</article-id><article-id custom-type="elpub" pub-id-type="custom">ellibs-233</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Отладка параллельных программ в DVM-системе</article-title><trans-title-group xml:lang="en"><trans-title>Debugging Parallel Programs in DVM-System</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Бахтин</surname><given-names>В. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Bakhtin</surname><given-names>V. A.</given-names></name></name-alternatives><email xlink:type="simple">bakhtin@keldysh.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Захаров</surname><given-names>Д. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Zakharov</surname><given-names>D. A.</given-names></name></name-alternatives><email xlink:type="simple">s123-93@mail.ru</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Ермичев</surname><given-names>А. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Ermichev</surname><given-names>A. A.</given-names></name></name-alternatives><email xlink:type="simple">a.ermich@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Крюков</surname><given-names>В. А.</given-names></name><name name-style="western" xml:lang="en"><surname>Krukov</surname><given-names>V. A.</given-names></name></name-alternatives><email xlink:type="simple">krukov@keldysh.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Институт прикладной математики им. М.В. Келдыша Российской академии наук</institution></aff><aff xml:lang="en"><institution>Keldysh Institute of Applied Mathematics; Lomonosov Moscow State University</institution></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Институт прикладной математики им. М.В. Келдыша Российской академии наук</institution></aff><aff xml:lang="en"><institution>Keldysh Institute of Applied Mathematics</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2020</year></pub-date><pub-date pub-type="epub"><day>28</day><month>08</month><year>2020</year></pub-date><volume>23</volume><issue>4</issue><fpage>866</fpage><lpage>886</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Бахтин В.А., Захаров Д.А., Ермичев А.А., Крюков В.А., 2020</copyright-statement><copyright-year>2020</copyright-year><copyright-holder xml:lang="ru">Бахтин В.А., Захаров Д.А., Ермичев А.А., Крюков В.А.</copyright-holder><copyright-holder xml:lang="en">Bakhtin V.A., Zakharov D.A., Ermichev A.A., Krukov V.A.</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://ellibs.elpub.ru/jour/article/view/233">https://ellibs.elpub.ru/jour/article/view/233</self-uri><abstract><p>DVM-система предназначена для разработки параллельных программ научно-технических расчетов на языках C-DVMH и Fortran-DVMH. Эти языки используют единую DVMH-модель параллельного программирования и являются расширением стандартных языков Си и Фортран спецификациями параллелизма, оформленными в виде директив для компилятора. DVMH-модель позволяет создавать эффективные параллельные программы для гетерогенных вычислительных кластеров, в узлах которых в качестве вычислительных устройств наряду с универсальными многоядерными процессорами могут использоваться ускорители, графические процессоры или сопроцессоры Intel Xeon Phi. В статье описыны методика отладки параллельных программ в DVM-системе, а также новые возможности DVM-отладчика.</p></abstract><trans-abstract xml:lang="en"><p>DVM-system is designed for the development of parallel programs of scientific and technical calculations in the C-DVMH and Fortran-DVMH languages. These languages use a single DVMH-model of parallel programming model and are an extension of the standard C and Fortran languages with parallelism specifications in the form of compiler directives. The DVMH model makes it possible to create efficient parallel programs for heterogeneous computing clusters, in the nodes of which accelerators, graphic processors or Intel Xeon Phi coprocessors can be used as computing devices along with universal multi-core processors. The article describes the method of debugging parallel programs in DVM-system, as well as new features of DVM-debugger.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>автоматизация разработки параллельных программ</kwd><kwd>автоматизация отладки параллельных программ</kwd><kwd>динамический контроль</kwd><kwd>сравнительная отладка</kwd><kwd>ускоритель</kwd><kwd>ГПУ</kwd><kwd>Фортран</kwd><kwd>Си</kwd></kwd-group><kwd-group xml:lang="en"><kwd>DVM-система</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Helgrind: a thread error detector. URL:&amp;nbsp;http://www.valgrind.org/docs/ manual/ hg-manual.html</mixed-citation><mixed-citation xml:lang="en">Helgrind: a thread error detector. URL:&amp;nbsp;http://www.valgrind.org/docs/ manual/ hg-manual.html</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">DRD: a thread error detector. URL:&amp;nbsp;http://www.valgrind.org/ docs/ manual/drd-manual.html</mixed-citation><mixed-citation xml:lang="en">DRD: a thread error detector. URL:&amp;nbsp;http://www.valgrind.org/ docs/ manual/drd-manual.html</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Intel Inspector. Memory and Thread Debugger. URL:&amp;nbsp;https:// software.intel.com/en-us/intel-inspector.</mixed-citation><mixed-citation xml:lang="en">Intel Inspector. Memory and Thread Debugger. URL:&amp;nbsp;https:// software.intel.com/en-us/intel-inspector.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Guard Parallel Relative Debugger. URL:&amp;nbsp;http://sourceforge.net/ projects/guardsoft/</mixed-citation><mixed-citation xml:lang="en">Guard Parallel Relative Debugger. URL:&amp;nbsp;http://sourceforge.net/ projects/guardsoft/</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Abramson D.A., Sosic R. Relative Debugging using Multiple Program Versions // Intensional Programming I. Sydney: World Scientific. 1995.</mixed-citation><mixed-citation xml:lang="en">Abramson D.A., Sosic R. Relative Debugging using Multiple Program Versions // Intensional Programming I. Sydney: World Scientific. 1995.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Язык C-DVMH. C-DVMH компилятор. Компиляция, выполнение и отладка CDVMH-программ. URL:&amp;nbsp;http://dvm-system.org/static_data/docs/CDVMH-reference-ru.pdf</mixed-citation><mixed-citation xml:lang="en">Язык C-DVMH. C-DVMH компилятор. Компиляция, выполнение и отладка CDVMH-программ. URL:&amp;nbsp;http://dvm-system.org/static_data/docs/CDVMH-reference-ru.pdf</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Язык Fortran-DVMH. Fortran-DVMH компилятор. Компиляция, выполнение и отладка DVMH-программ. URL:&amp;nbsp;http://dvm-system.org/static_data/docs/ FDVMH-user-guide-ru.pdf</mixed-citation><mixed-citation xml:lang="en">Язык Fortran-DVMH. Fortran-DVMH компилятор. Компиляция, выполнение и отладка DVMH-программ. URL:&amp;nbsp;http://dvm-system.org/static_data/docs/ FDVMH-user-guide-ru.pdf</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Система поддержки выполнения параллельных программ (библиотека Lib-DVM). URL:&amp;nbsp;http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/libdvm/ rtsDDr0.html</mixed-citation><mixed-citation xml:lang="en">Система поддержки выполнения параллельных программ (библиотека Lib-DVM). URL:&amp;nbsp;http://www.keldysh.ru/dvm/dvmhtm1107/rus/sys/libdvm/ rtsDDr0.html</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">OpenMP Application Programming Interface. Version 5.0. November, 2018. URL:&amp;nbsp;https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf</mixed-citation><mixed-citation xml:lang="en">OpenMP Application Programming Interface. Version 5.0. November, 2018. URL:&amp;nbsp;https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">The OpenACC Application Programming Interface. Version 2.6. November, 2017. URL:&amp;nbsp;https://www.openacc.org/sites/default/files/inline-files/OpenACC.2.6.final.pdf</mixed-citation><mixed-citation xml:lang="en">The OpenACC Application Programming Interface. Version 2.6. November, 2017. URL:&amp;nbsp;https://www.openacc.org/sites/default/files/inline-files/OpenACC.2.6.final.pdf</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">NAS Parallel Benchmarks, URL:&amp;nbsp;http://www.nas.nasa.gov/publications/ npb.html</mixed-citation><mixed-citation xml:lang="en">NAS Parallel Benchmarks, URL:&amp;nbsp;http://www.nas.nasa.gov/publications/ npb.html</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Крюков В.А., Кудрявцев М.В. Автоматизация отладки параллельных программ // Вычислительные методы и программирование. 2006. Т. 7. Вып. 4. С.&amp;nbsp;102&amp;ndash;110.</mixed-citation><mixed-citation xml:lang="en">Крюков В.А., Кудрявцев М.В. Автоматизация отладки параллельных программ // Вычислительные методы и программирование. 2006. Т. 7. Вып. 4. С.&amp;nbsp;102&amp;ndash;110.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">David Monniaux. The pitfalls of verifying floating-point computations // ACM Transactions on Programming Languages and Systems (TOPLAS), ACM. 2008. V.&amp;nbsp;30. No 3. 12 p.</mixed-citation><mixed-citation xml:lang="en">David Monniaux. The pitfalls of verifying floating-point computations // ACM Transactions on Programming Languages and Systems (TOPLAS), ACM. 2008. V.&amp;nbsp;30. No 3. 12 p.</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Ермичев А.А., Крюков В.А. Развитие метода сравнительной отладки DVMH-программ // Научный сервис в сети Интернет: труды XIX Всероссийской научной конференции (18&amp;ndash;23 сентября 2017г., г. Новороссийск). М.: ИПМ им.&amp;nbsp;М.В.&amp;nbsp;Келдыша, 2017. С. 150&amp;ndash;156.</mixed-citation><mixed-citation xml:lang="en">Ермичев А.А., Крюков В.А. Развитие метода сравнительной отладки DVMH-программ // Научный сервис в сети Интернет: труды XIX Всероссийской научной конференции (18&amp;ndash;23 сентября 2017г., г. Новороссийск). М.: ИПМ им.&amp;nbsp;М.В.&amp;nbsp;Келдыша, 2017. С. 150&amp;ndash;156.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
