Агибалов О.И., Венцов Н.Н. —
Оценка зависимостей времени работы генетического алгоритма, выполняемого на CPU и GPU
// Кибернетика и программирование. – 2017. – № 6.
– С. 1 - 8.
DOI: 10.25136/2644-5522.2017.6.24509
URL: https://e-notabene.ru/kp/article_24509.html
Читать статью
Аннотация: Предметом исследования является проблема выбора наиболее эффективной аппаратной архитектуры для реализации стохастического популяционного алгоритма.
Объект исследования – генетический алгоритм, выполняемый на центральном процессоре (central processing unit, CPU) и графическом процессоре (graphics processing unit, GPU).
Приведены результаты вычислительного эксперимента, проведенного с целью сравнения зависимостей времени работы генетического алгоритма, выполняемого на центральном процессоре и графическом процессоре, от используемого количества хромосом. Приведено сопоставление как общего времени решения задачи, так и времени, необходимого для инициализации CPU и GPU.
По причине невозможности получения точной временной оценки генетического алгоритма построена расплывчатая оценка времени работы GPU-алгоритма на 3000 хромосом.
Метод исследования базируется на экспериментальной оценке зависимостей времени работы генетического алгоритма выполняемого на CPU и GPU от количества особей в популяции. Вычислительная сложность реализации генетического алгоритма на обоих видах процессоров приблизительно соответствует величине O(n)-O(n2). На основании представленных результатов установлено, что при использовании популяции размером до 2000-2500 хромосом генетический алгоритм целесообразнее реализовывать на CPU, а при использовании более 3000-4000 хромосом - на GPU. Размытость границы эффективности обусловлена стохастичностью генетического алгоритма.
Полученные оценки границ целесообразности выбора аппаратной архитектуры справедливы исключительно для данной задачи. Для прочих задач, в иных аппаратных и программных условиях эти результаты будут другими. В рассматриваемой ситуации важна не только числовая оценка границы эффективности, но и сам факт возможности определения такой точки перелома.
Abstract: The subject of the research is the problem of choosing the most efficient hardware architecture to execute a stochastic population-based algorithm. The object of the research is the genetic algorithm carried out using the central processing unit (CPU) or graphics processing unit (GPU). In their research the authors give results of a computational experiment aimed at comparing time dependencies of the genetic algorithm executed on the central processing unit or graphics processing unit based on the number of chromosomes used. The authors also compare the overall time of task solutions and time necessary to initialize CPU and GPU. Due to the fact that it was impossible to obtain the precise time assessment of the genetic algorithm, the authors have developed a loose time assessment of GPU-algorithm for 3000 chromosomes. The research method is based on the experimental assessment of time dependencies of the genetic algorithm executed using CPU or GPU based on the number of species in the population. The computational complexity of the genetic algorithm for both types of processing units is approximately O(n)-O(n2). Based on the results the authors have stated that in cases when the population is 2000-2500 chromosomes, the genetic algorithm should be better executed using CPU and when the population exceeds 3000-4000 chromosomes it is better to execute it using GPU. Such unclarity of efficiency frontiers is caused by the stochastic nature of the genetic algorithm. It should be also noted that these frontiers for choosing the most efficient hardware architecture are right exclusively for solving the above mentioned task. The results will be different for simpler tasks and other hardware and software conditions. The present research focuses not only on the numerical assessment of efficiency frontiers but on whether such crossing point can be defined or not.