Сеченов П.А., Оленников А.А. —
Применение технологии параллельного программирования NVIDIA CUDA в задаче расплавления шарообразной частицы
// Кибернетика и программирование. – 2018. – № 5.
– С. 8 - 14.
DOI: 10.25136/2644-5522.2018.5.20345
URL: https://e-notabene.ru/kp/article_20345.html
Читать статью
Аннотация: В статье рассмотрена технология параллельного программирования NVIDIA CUDA в задаче расплавления шарообразной частицы. Показана тенденция современных компьютеров к увеличению мощности за счет увеличения количества ядер, а не за счет увеличения частоты процессора (что приводит к значительному потреблению энергии и выделению тепла). Представлен закон Амдала, позволяющий оценить ускорение времени программы при распараллеливании на N процессоров. Перечислены условия увеличения производительности алгоритма при распараллеливании задачи. Представлена задача расплавления частицы железной руды. Рассмотрены особенности языка параллельного программирования CUDA C и представлены алгоритмы для выбранной задачи. Произведен сравнительный анализ времени выполнения задачи на CPU (С#) и GPU (CUDA C). Технология параллельного программирования CUDA позволяет увеличить производительность распараллеливаемых алгоритмов сложности N до 60 раз. Для этого требуется наличие графического процессора с поддержкой данной технологии, среда разработки и компилятор языка CUDA, знание языка CUDA C, а также хорошее знание задачи и возможности ее распараллеливания.
Abstract: The article describes the NVIDIA CUDA parallel programming technology used in the task of melting a spherical particle. The tendency of modern computers to increase power by increasing the number of cores, and not by increasing the frequency of the processor (which leads to significant energy consumption and heat generation). The Amdal law is presented, allowing to estimate the acceleration of the program time when parallelized on N processors. The conditions for increasing the performance of the algorithm in parallelizing tasks are listed. The task of melting iron ore particles is presented. The features of the parallel programming language CUDA C are considered and the algorithms for the selected task are presented. A comparative analysis of the task execution time on the CPU (C #) and GPU (CUDA C) has been made. The technology of parallel programming CUDA allows you to increase the performance of parallelized algorithms of complexity N up to 60 times. This requires the presence of a graphics processor supporting this technology, the development environment and the CUDA compiler, knowledge of the CUDA C language, as well as a good knowledge of the task and the possibility of its parallelization.
Сеченов П.А., Цымбал В.П., Оленников А.А. —
Имитационная модель разделения составляющих пыли марганцевого производства
// Кибернетика и программирование. – 2016. – № 2.
– С. 34 - 41.
DOI: 10.7256/2306-4196.2016.2.18133
URL: https://e-notabene.ru/kp/article_18133.html
Читать статью
Аннотация: Предметом исследования является выбор технологии, структура и алгоритмы программной реализации имитационной модели разделения составляющих пыли марганцевого производства, выбор объектно-ориентированного языка программирования ActionScript 3.0, взаимосвязь между основным модулем и классами программы (конденсированных частиц, функций расчета, отображения графиков и др.). Для каждого класса показаны основные возможности, предназначение, входные и выходные параметры функции. Более подробно рассмотрена основная функция главного модуля, которая включает взаимодействие и вызов процедур и функции как внутри основного модуля, так и с функциями и процедурами выделенных классов. Методом исследования является метод имитационного моделирования (Монте-Карло), позволяющий при знании механизмов изучаемого объекта, на основе разыгрывания случайности, построить алгоритм. Представлена имитационная модель разделения составляющих пыли марганцевого производства, которая позволяет осуществить: ввод начальных параметров, наблюдение движения частиц в гравитационном сепараторе и отображение статистических данных и графиков в реальном времени, проведение исследований на модели и подбора оптимальных параметров на основе коэффициентов эффективности разделения. Модель можно использовать при проектировании гравитационных сепараторов, прогнозировании производительности и эффективности разделения.
Abstract: The subject of the research is the choice of technology, structure and algorithms of software implementation of simulation model of separation of components of manganese production dust. The authors choose an object-oriented programming language, ActionScript 3.0 for the implementation. The study reveals the relationship between the main unit and the classes of the program (such as classes representing condensed particles, calculation functions, graphs display etc). For each class, the authors show the main features, purpose, input and output parameters of the function. The study reviews in detail the main unit function, which includes interaction and calls of procedures and functions within the main module, and with the functions and procedures of the selected classes. The method of research is the simulation method (Monte Carlo), which allows the object being studied with the knowledge of mechanisms on the basis of chance playing, to construct an algorithm. The paper presents simulation model of separation of components of manganese production dust, which makes it possible to: input initial parameters, observe the motion of particles in a gravitational separator and display the statistical data and real-time graphs, study on the model and selection of the optimal parameters based on separation efficiency coefficients. The model can be used in the design of gravity separators, predicting the performance and efficiency of the separation.