日韩精品电影一二区-精品久久久久久亚洲中文字幕-一区二区三区国产美女在线播放-欧美日韩在线观看你懂的-午夜精品一区二区三区的区别-久久精品娱乐亚洲领-欧美在线网站一区二区三区-在线观看91精品国产不卡-国产水滴盗摄一区二区

創(chuàng)龍首頁(yè) >關(guān)于創(chuàng)龍 > 新聞資訊 > 技術(shù)文章

聯(lián)系我們

Contact Us

公司總機(jī):020-8998-6280

技術(shù)熱線:020-3893-9734

技術(shù)郵箱:support@tronlong.com

銷售郵箱:sales@tronlong.com

如何用TMS320C6678處理器進(jìn)行OpenMP多核通信案例

2021/01/28

如何用TMS320C6678處理器進(jìn)行OpenMP多核通信案例


本文主要介紹TMS320C6678處理器開(kāi)發(fā)中比較常用的多核通信方式:OpenMP,主要基于創(chuàng)龍科技TL6678-EasyEVM評(píng)估板進(jìn)行演示。



圖1 TL6678-EasyEVM評(píng)估板


TL6678-EasyEVM是一款基于TI KeyStone架構(gòu)C6000系列TMS320C6678八核C66x定點(diǎn)/浮點(diǎn)高性能處理器設(shè)計(jì)的高端多核DSP評(píng)估板,由核心板與底板組成。核心板經(jīng)過(guò)專業(yè)的PCB Layout和高低溫測(cè)試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。


評(píng)估板接口資源豐富,引出雙路千兆網(wǎng)口、SRIO、PCIe等高速通信接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研。


開(kāi)發(fā)案例主要包括:?

(1) 裸機(jī)開(kāi)發(fā)案例

(2) RTOS(SYS/BIOS)開(kāi)發(fā)案例

(3) IPC、OpenMP多核開(kāi)發(fā)案例

(4) SRIO、PCIe、雙千兆網(wǎng)口開(kāi)發(fā)案例

(5) 圖像處理開(kāi)發(fā)案例

(6) DSP算法開(kāi)發(fā)案例

(7) 串口、網(wǎng)絡(luò)遠(yuǎn)程升級(jí)開(kāi)發(fā)案例

案例源碼、產(chǎn)品資料(用戶手冊(cè)、核心板硬件資料、產(chǎn)品規(guī)格書(shū))可點(diǎn)http://site.tronlong.com/pfdownload獲取。


2.1 OpenMP簡(jiǎn)介

OpenMP是一種多核開(kāi)發(fā)軟件框架,其主要特性如下:

(1) 可跨平臺(tái)使用,代碼兼容性強(qiáng)。

(2) 以共享內(nèi)存為通信基礎(chǔ)。

(3) 支持C/C++以及Fortran語(yǔ)言。

(4) 一般基于SYS/BIOS運(yùn)行。




圖2


2.2 基本語(yǔ)法


#pragma omp 指令 [子句 [ [ [,]子句 ] ... ]

{

...

}


表1

指令

說(shuō)明

parallel

開(kāi)始并行執(zhí)行語(yǔ)句

for

在多個(gè)線程中并行執(zhí)行for循環(huán)

sections

包含多個(gè)可并行執(zhí)行的sectone結(jié)構(gòu)體

single

單線程執(zhí)行

master

主線程執(zhí)行

critical

任意時(shí)刻僅可被單個(gè)線程執(zhí)行

barrier

指定屏障,用于同步所有線程

taskwait

等待子線程完成

atomic

確保指定內(nèi)存位置執(zhí)行原子更新操作

flush

使線程當(dāng)前內(nèi)存數(shù)據(jù)與實(shí)際內(nèi)存數(shù)據(jù)一致

ordered

并行執(zhí)行的for循環(huán)將按循環(huán)體變量順序執(zhí)行

threadprivate

指定變量為本地存儲(chǔ)


表2

子句

說(shuō)明

default

控制parallel或task結(jié)構(gòu)體中變量數(shù)據(jù)的共享屬性

shared

parallel或task結(jié)構(gòu)中,一個(gè)或多個(gè)變量為共享變量

private

一個(gè)或多個(gè)變量為本地變量

firstprivate

一個(gè)或多個(gè)變量為本地變量,且變量值為并行結(jié)構(gòu)執(zhí)行前的值

lastprivate

一個(gè)或多個(gè)變量為本地變量,且變量值為并行結(jié)構(gòu)執(zhí)行后的值

reduction

一個(gè)或多個(gè)變量為本地變量,但變量值將根據(jù)不同的運(yùn)算符來(lái)決定,執(zhí)行完成后變量值將被更新

copyin

使線程本地變量值與主線程變量值相同

copyprivate

使屬于parallel區(qū)域的變量值在不同線程中相同

schedule

設(shè)置for循環(huán)并行執(zhí)行方式:dynamic、guided、runtime和static

num_threads

線程數(shù)目

if

并行語(yǔ)句執(zhí)行條件

nowait

忽略線程同步等待


以裸機(jī)的omp_matavec案例為例,使用場(chǎng)景的概要流程圖如下。

C66xx_0核心創(chuàng)建主線程,通過(guò)OpenMP框架加載matvec算法至C66xx_0~C66xx_7核心進(jìn)行并行運(yùn)算,從而減少C66xx_0核心負(fù)載,并可加快運(yùn)算速度。




圖3


2.3 代碼分析

以裸機(jī)的omp_matavec案例為例進(jìn)行代碼分析,見(jiàn)圖中注釋。




圖4


免費(fèi)試用

現(xiàn)可向廠家免費(fèi)申請(qǐng)TL6678-EasyEVM評(píng)估板進(jìn)行快速評(píng)估,免費(fèi)哦!



技術(shù)研討會(huì):79635273、332643352


更多推薦

C6678+K7視頻采集處理方案




圖5



FPGA+DSP的高速AD采集處理開(kāi)發(fā)詳解




圖6


更多案例詳情或建議,歡迎留言與我溝通了解。

Copyright © 2013~2025 廣州創(chuàng)龍電子科技有限公司 All Rights Reserved  | 粵ICP備15055271號(hào)