Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Дисциплины:
2020-04-01 | 100 |
5.00
из
|
Заказать работу |
|
|
Мы устанавливаем значения размера сетки и размера блока равными grid1 и block1 соответственно. Это означает, что при запуске ядра будет выполнено N потоков и каждый из них рассчитывает фитнесс функцию для рыбы.
Приведем описание алгоритма:
) Определяем, какое из значений фитнесс функции будем рассчитывать: i
) Применяем арифметические операции к X[i] и храним посчитанные значения фитнесс функции в TESTF[i].
Обновление результатов оптимизации
Устанавливаем размер сетки и блока равным 1, это означает, что после запуска ядра будет выполняться только 1 поток. Это ядро сканирует массив TESTF[i] и записывает максимальную фитнесс функцию в Ymin
Расчет расстояния между рыбами
Размер сетки и размер блока принимаются grid2 и block1 соответственно. С запуском ядра параллельно будут выполняться потоков, каждый поток ссылается на уникальную пару рыбок и рассчитывает расстояние между ними. Для преодоления латентности доступа к глобальной памяти, мы привязываем X к текстуре для кэширования элементов X и получения их из текстуры в тот момент, когда нам это нужно.
Приведём алгоритм:
) Определяем, для какой пары рыб необходимо найти расстояние: (i1, i2)
2) If i1 ≥ N or i2 ≥ N or i2 i1 then return
Рассчитываем расстояние между двумя рыбами (i1, i2)
) Сохраняем результат в массив DIST: DIST[i1] [i2] и DIST[i2] [i1] соответственно.
Процесс добычи
Для реализации процесса добычи, каждой рыбе нужно случайных чисел и, в связи с этим, нужно подготовить такое же число случайных целых чисел, которые будут служить указателями для массива RAND, хранящего большое число случайных чисел в глобальной памяти ГПУ.
Приведём алгоритм процесса добычи:
) Определяем, для какой рыбы будет осуществлён процесс добычи: i
|
2)
3) For to tryNum
Do PREY(pr2t-1, pr2t, XP, i)
If preySuccess=false XP[i] X[i] + RAND [r+i]
Процесс инстинктивно-коллективного перемещения
Приведём описание для алгоритма для функции, осуществляющей коллективно-инстинктивное движение. Xc и nf здесь вляются центром позиции спутников рыбы и числом спутников рыбы соответственно. Xc-X[i]
Алгоритм:
) Определяем процесс добычи для исполнения: i
2)
3) If i≥ N
Then return
Рассчитываем. Xc и nf
If удовлетворяет условиям инстинктивно-коллективного движения
Then
If
Then продолжать процесс добычи
Процесс инстинктивно-волевого перемещения
Приведем описание алгоритма для функции инстинктивно-волевого перемещения. Здесь Xmin используется для записи состояния рыб с минимальной фитнесс функцией, а Fmin - минимальная фитнесс функция компаньонов данной рыбы.
Алгоритм:
) Определяем процесс добычи для выполнения
2)
3) If i≥ N
Then return
4) Находим компаньона рыбы с минимальной фитнесс функцией
) Рассчитываем число компаньонов рыбы nf
If nf!= 0 and Fmin < TESTF[i] and nf/N < д
Then
If then выполнить процесс добычи
|
|
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!