RU2604985C2 - Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков - Google Patents

Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков Download PDF

Info

Publication number
RU2604985C2
RU2604985C2 RU2014145373/08A RU2014145373A RU2604985C2 RU 2604985 C2 RU2604985 C2 RU 2604985C2 RU 2014145373/08 A RU2014145373/08 A RU 2014145373/08A RU 2014145373 A RU2014145373 A RU 2014145373A RU 2604985 C2 RU2604985 C2 RU 2604985C2
Authority
RU
Russia
Prior art keywords
gpu
cpu
calculations
points
simulation
Prior art date
Application number
RU2014145373/08A
Other languages
English (en)
Other versions
RU2014145373A (ru
Inventor
Алексей Викторович Башкиров
Александр Иванович Климов
Юрий Сергеевич Науменко
Original Assignee
Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" (ФГБОУ ВО "ВГТУ", ВГТУ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" (ФГБОУ ВО "ВГТУ", ВГТУ) filed Critical Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" (ФГБОУ ВО "ВГТУ", ВГТУ)
Priority to RU2014145373/08A priority Critical patent/RU2604985C2/ru
Publication of RU2014145373A publication Critical patent/RU2014145373A/ru
Application granted granted Critical
Publication of RU2604985C2 publication Critical patent/RU2604985C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Изобретение относится к автоматизированному проектированию, технике моделирования и проверки кодов и может быть использовано при цифровом моделировании характеристик помехоустойчивых низкоплотностных кодеков в однопроцессорных гетерогенных компьютерных системах малой производительности. Техническим результатом применения способа является увеличение производительности вычислений, производимых в процессе моделирования. Такой результат достигается благодаря тому, что хостовой частью выполняют подготовку и передачу данных GPU части, затем производят предварительную оценку значений производительности вычислений на CPU (TCPU) и GPU (TGPU) в отдельности друг от друга, затем общее число моделируемых точек разбивают в соотношении Q/Z=TCPU/TGPU, после чего часть точек Q моделируют основным потоком вычислений на GPU, синхронизируемых с помощью CPU, и запускают дополнительный поток вычислений на CPU для моделирования части точек Z, по завершении моделирования осуществляют передачу результатов вычислений хостовой части. 2 ил.

Description

Изобретение относится к автоматизированному проектированию, технике моделирования и проверки кодов и может быть использовано при цифровом моделировании характеристик помехоустойчивых низкоплотностных кодеков в однопроцессорных гетерогенных компьютерных системах малой производительности для ускорения производимых вычислений.
Техническим результатом является увеличение производительности вычислений, производимых в процессе моделирования.
Известен способ моделирования, описанный в патенте США «Lithographic simulations using graphical processing units», US 2006/0242618 A1, МПК G06F 17/50, опубл. 26.10.2006. Способ заключается в инициализации хостовой части основным вычислителем - CPU (англ. central processing unit - центральный процессор), инициализации данных дополнительного вычислителя - GPU (англ. graphics processing unit - графический процессор), передачи данных от хостовой части к GPU, запуске вычислений на GPU, синхронизируемых хостовой частью и передаче результатов вычислений от GPU обратно хостовой части.
Недостатком такого подхода является неполное использование доступных вычислительных мощностей CPU.
Наиболее близким по своей технической сущности к заявленному способу является способ, описанный в патенте США «Model implementation on GPU», US 7979814 B1, МПК G06F 17/50, опубл. 12.07.2011. Способ заключается в подготовке и передаче хостовой частью данных GPU части, запуске основного потока для CPU и старте потока вычислений на GPU, передаче результатов вычислений хостовой части по завершении моделирования.
Недостатком способа является неполная загрузка основного вычислителя гетерогенной системы вследствие того, что он реализует лишь инициализацию и сопровождение (синхронизацию) вычислений GPU части. В отношении вычислений в гетерогенных системах низкой производительности, такая схема организации моделирования становится схемой с неполным использованием потенциала гетерогенной системы в условиях, когда выигрыш в скорости вычислений на GPU невелик, а гетерогенная система содержит в качестве основного вычислителя лишь однопроцессорное устройство.
Сущность изобретения
Решаемой технической задачей изобретения является увеличение производительности вычислений, выполняемых в процессе моделирования.
Сущность изобретения поясняется приведенными далее чертежами в отношении моделирования и проверки низкоплотностных кодов (N, J, K), где N - длина кода, J - количество единиц в столбце, а K - количество единиц в строке проверочной матрицы кода. На фиг. 1 представлена архитектура программной реализации предлагаемых решений, содержащая в своем составе: 1 - блок моделирования канала с аддитивным белым гауссовским шумом (АБГШ); 2 - блок инициализирующих процедур; 3 и 4 - блоки условной архитектуры итеративного декодера по итеративному алгоритму распространения доверия; 5 - блок финального декодирования и принятия жестких решений, 6 - блок оценки BER (англ. Bit Error Rate - вероятность битовой ошибки). Блоки 3 и 4 в обоих потоках отвечают за передачу сообщений от проверочных вершин к кодовым и обратно, однако в первом потоке, соответствующем вычислениям на GPU, блоки выполняются параллельно, а в потоке, соответствующем вычислениям на CPU, блоки выполняются последовательно.
Предлагаемый способ увеличения производительности заключается в следующем.
1. Сначала производят предварительную оценку производительности вычислений на CPU и GPU в отдельности друг от друга в соответствии с процедурой, псевдокод которой представлен в листинге 1.
Figure 00000001
Эмпирически было установлено, что моделирование декодирования 200 000 бит достаточно для приблизительной оценки производительности вычислений на CPU и GPU и при этом не так велико, чтобы загрузить гетерогенную систему на значительное время (более 10 сек). Домножение на коэффициент 1, 2 является поправочным; коэффициент вычислен также эмпирически. Функция ceil(x) в листинге 1 возвращает ближайшее целое к значению х, округленное вверх.
2. Затем осуществляют разбиение задачи в соотношении
Figure 00000002
, причем:
Q Z = T C P U T G P U
Figure 00000003
,
где TCPU и TGPU - время, затраченное на расчеты центральным и графическим процессором в процессе выполнения вышеописанной процедуры соответственно. В отношении моделирования низкоплотностных кодеков разделить задачу оказывается возможным по точкам значений SNR, так как обычно их симулируется достаточное количество. Разбиение вычислительной задачи осуществляют следующим образом: Вводят вспомогательный коэффициент
Figure 00000004
Вычисляют общее число точек моделирования:
Figure 00000005
Вычисляют границы интервалов моделирования:
Figure 00000006
Figure 00000007
Здесь SNRinit - минимальное значение сигнал/шум; SNRfinal - максимальное значение сигнал/шум; SNRincr - величина инкремента значения сигнал/шум.
3. После этого осуществляют организацию многопоточных вычислений, где моделирование части точек - Q производят основным потоком на вспомогательном вычислителе (GPU) с синхронизацией хостовой (CPU) частью, а моделирование части точек Ζ осуществляют дополнительным потоком вычислений на CPU. Основной поток (GPU, синхронизируемый CPU) моделирует точки SNR1: SNRinit≤SNR1≤SNRQ.
Дополнительный поток (CPU) моделирует точки SNR2: SNRZ≤SNR2≤SNRfinal.
Достигаемое повышение производительности подтверждается программно полученными данными вычислений, представленными на фиг. 2 в виде графика временного выигрыша, в зависимости от длины кода, при моделировании в гетерогенной системе посредством открытого стандарта реализации техники GPGPU (англ. General-purpose graphics processing units - вычислений общего назначения на графических процессорах) OpenCL (англ. Open Computing Language - открытый язык вычислений) характеристик группы кодов (N, 3, 6) при 10 точках SNR (англ. signal-to-noise ratio - отношение сигнал/шум).
Таким образом, при малых значениях длины (N=96) выигрыш достигает 80% и снижается до 60% при N=204 и 41% при N=273. Затем наблюдается установившийся участок со средним значением выигрыша 21% при длине кода от N=504 до N=3000. Говоря об актуальности и практической важности полученных результатов, упомянутые выше значения длины кода рекомендованы следующими современными техническими стандартами в области телекоммуникаций: 802.11 - WiFi (беспроводные локальные и городские сети, N:648-1944); 802.16 - Mobile WiMAX (местные и городские беспроводные сети, N:576-2304); 802.22 - WRAN (беспроводные региональные сети, N:384-2304).
Область применимости способа ограничены условием Q<Maxsim. Стоит отметить, что принципиально способ реализуем и в гетерогенных системах с многопроцессорным CPU, с учетом полной загрузки всех ядер CPU.
Патенты
1. Патент США «Lithographic simulations using graphical processing units», US 2006/0242618 A1, МПК G06F 17/50, опубл. 26.10.2006.
2. Патент США «Model implementation on GPU», US 7979814 B1, МПК G06F 17/50, опубл. 12.07.2011.

Claims (1)

  1. Способ организации вычислений на графических процессорах для моделирования помехоустойчивых низкоплотностных кодеков, заключающийся в том, что хостовой частью выполняют подготовку и передачу данных GPU части (англ. graphics processing unit - графический процессор), после чего запускают основной поток вычислений на GPU, синхронизируемый CPU (англ. central processing unit - центральный процессор), и по завершении моделирования осуществляют передачу результатов вычислений хостовой части, отличающийся тем, что перед запуском вычислений на графическом процессоре производят предварительную оценку значений производительности вычислений на CPU (TCPU) и GPU (TGPU) в отдельности друг от друга, затем разбивают общее число точек моделирования в соотношении Q/Z=TCPU/TGPU, после чего часть точек Q моделируют в основном потоке вычислений на GPU, синхронизируемых с помощью CPU, который одновременно моделирует часть точек Ζ в дополнительном потоке вычислений.
RU2014145373/08A 2014-11-11 2014-11-11 Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков RU2604985C2 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014145373/08A RU2604985C2 (ru) 2014-11-11 2014-11-11 Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014145373/08A RU2604985C2 (ru) 2014-11-11 2014-11-11 Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков

Publications (2)

Publication Number Publication Date
RU2014145373A RU2014145373A (ru) 2016-05-27
RU2604985C2 true RU2604985C2 (ru) 2016-12-20

Family

ID=56095817

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014145373/08A RU2604985C2 (ru) 2014-11-11 2014-11-11 Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков

Country Status (1)

Country Link
RU (1) RU2604985C2 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166174A1 (en) * 2003-10-07 2005-07-28 Jun Ye System and method for lithography simulation
US20060242618A1 (en) * 2005-02-14 2006-10-26 Yao-Ting Wang Lithographic simulations using graphical processing units
US7594095B1 (en) * 2005-11-29 2009-09-22 Nvidia Corporation Multithreaded SIMD parallel processor with launching of groups of threads
RU2412469C2 (ru) * 2006-04-26 2011-02-20 Квэлкомм Инкорпорейтед Графическая система с конфигурируемыми кэшами
US7979814B1 (en) * 2007-03-12 2011-07-12 ProPlus Design Solutions, Inc. Model implementation on GPU

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050166174A1 (en) * 2003-10-07 2005-07-28 Jun Ye System and method for lithography simulation
US20060242618A1 (en) * 2005-02-14 2006-10-26 Yao-Ting Wang Lithographic simulations using graphical processing units
US7594095B1 (en) * 2005-11-29 2009-09-22 Nvidia Corporation Multithreaded SIMD parallel processor with launching of groups of threads
RU2412469C2 (ru) * 2006-04-26 2011-02-20 Квэлкомм Инкорпорейтед Графическая система с конфигурируемыми кэшами
US7979814B1 (en) * 2007-03-12 2011-07-12 ProPlus Design Solutions, Inc. Model implementation on GPU

Also Published As

Publication number Publication date
RU2014145373A (ru) 2016-05-27

Similar Documents

Publication Publication Date Title
Burger et al. Parallel flow routing in SWMM 5
CN107330516A (zh) 模型参数训练方法、装置及系统
CN115150471B (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN117454495B (zh) 一种基于建筑草图轮廓序列的cad矢量模型生成方法及装置
Rojek et al. Adaptation of fluid model EULAG to graphics processing unit architecture
Martínez del Amor et al. Parallel simulation of probabilistic P systems on multicore platforms
CN111106960A (zh) 一种虚拟网络的映射方法、映射装置及可读存储介质
CN107977504B (zh) 一种非对称堆芯燃料管理计算方法、装置及终端设备
RU2604985C2 (ru) Способ организации вычислений на графических процессорах для моделирования помехоустойчивости низкоплотностных кодеков
US8938484B2 (en) Maintaining dependencies among supernodes during repeated matrix factorizations
CN106843822B (zh) 一种执行代码生成方法及设备
CN107610210B (zh) 骨骼动画系统优化方法、装置及骨骼动画系统
US8341577B1 (en) Parallel circuit simulation with partitions
Ji et al. Using the first-level cache stack distance histograms to predict multi-level LRU cache misses
CN115759209A (zh) 神经网络模型的量化方法、装置、电子设备及介质
CN115130672A (zh) 一种软硬件协同优化卷积神经网络计算的方法及装置
CN114970847A (zh) 数据处理方法、装置和存储介质
CN113033422A (zh) 基于边缘计算的人脸检测方法、系统、设备和存储介质
Freytag et al. Collaborative execution of fluid flow simulation using non-uniform decomposition on heterogeneous architectures
US20100082939A1 (en) Techniques for efficient implementation of brownian bridge algorithm on simd platforms
Lemeire et al. Analysis of the analytical performance models for GPUs and extracting the underlying Pipeline model
Görür et al. Improving the performance of optimistic time management mechanism with sub-state saving.
CN111177836B (zh) 海洋工程设计数据的获取方法、系统、介质及设备
US20180357204A1 (en) Gaussian random variable generation
Yang et al. SpMMPlu: A Compiler Plug-in with Sparse IR for Efficient Sparse Matrix Multiplication

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20171112