Вид документа : Статья из журнала
Шифр издания :
Автор(ы) : Николаев, Прокопий Михайлович
Заглавие : Повышение эффективности расчета b-сплайнов в задачах параллельного программирования
Место публикации : Программная инженерия. - 2021. - Т. 12, № 5. - С.267-273. - ISSN 2220-3397 (Шифр proi/2021/12/5). - ISSN 2220-3397
Примечания : Библиогр.: с. 273 (7 назв.). - Авт., загл., аннот. кл. сл. и библиогр. парал. рус., англ.
УДК : 004.41/.42
ББК : 32.973-018
Предметные рубрики: Вычислительная техника
Программирование ЭВМ. Компьютерные программы. Программотехника
Ключевые слова (''Своб.индексиров.''): b-сплайны--асинхронный доступ к данным--локальная память потока--многопоточные коды--параллельное программирование
Аннотация: Представлен способ повышения эффективности расчета B-сплайнов в задачах параллельного программирования за счет устранения блокировок при обращении к общим модифицируемым данным. Представлена программная реализация в виде шаблона класса C++, обеспечивающего перенос временного массива, используемого при расчете B-сплайна, в локальный буфер заданного размера с возможностью его увеличения в случае необходимости. Использование разработанного шаблона совместно с квалификатором thread_local позволяет сократить число запросов на увеличение буфера для B-сплайнов высокой степени (большей, чем изначально заданный размер буфера). Приведены результаты применения разработанного класса при расчете значений B-сплайнов в многопоточной среде, показывающие сокращение времени расчета пропорционально увеличению числа вычислительных процессоров.