Вид документа : Статья из журнала Шифр издания : Автор(ы) : Николаев, Прокопий Михайлович Заглавие : Повышение эффективности расчета 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-сплайнов в многопоточной среде, показывающие сокращение времени расчета пропорционально увеличению числа вычислительных процессоров. |