<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產品分類

      當前位置: 首頁 > 工業控制產品 > 自動化控制 > 醫療開關電源

      類型分類:
      科普知識
      數據分類:
      醫療開關電源

      通過LabVIEW圖形化開發平臺有效優化多核處理器環境下的信號處理性能

      發布日期:2022-04-17 點擊率:61

      多核處理器環境下的編程挑戰

      摩爾定律問世40余年來,人們業已看到半導體芯片制造工藝水平以一種令人目眩的速度在提高,Intel微處理器的最高主頻甚至超過了4G。雖然主頻的提升一定程度上提高了程序運行效率,但越來越多的問題也隨之出現,耗電、散熱都成為阻礙設計的瓶頸所在,芯片成本也相應提高。當單獨依靠提高主頻已不能實現性能的高效率時,雙核乃至多核成為了提高性能的唯一出路。隨著AMD率先打破摩爾定律、終結頻率游戲后,Intel和AMD都開始逐步推出了基于雙核、四核甚至八核的處理器,工程師們逐漸投入到基于多核處理器的新型應用開發中去時,大家開始發現,借助這些新的多核處理器,并在應用開發中利用并行編程技術,可以實現最佳的性能和最大的吞吐量,大大提高應用程序的運行效率。

      然而,業界專家們也同時認識到,對于實際的編程應用,多核處理器的并行編程卻是一個巨大的挑戰。比爾蓋茨是這樣論述的:

      要想充分利用并行工作的處理器的威力,軟件必須能夠處理并發性問題。但正如任何一位編寫過多線程代碼的開發者告訴你的那樣,這是編程領域最艱巨的任務之一。

      比如用C++寫一個多線程的程序,程序員必須要非常熟悉 C++,了解如何將C++程序分成多個線程和并在各個線程間進行任務調度,此外還要了解 Windows 多線程的機制,熟悉 Windows API 的調用方法和MFC 的架構等等。在 C++ 上調試多線程程序,更是被很多程序員視為噩夢。

      所以,對于測試測量行業的工程師來說,在傳統開發環境下要想獲得多核下的效率提升意味著大量而復雜的多線程編程任務,而使得工程師脫離了自動化測試及其信號處理任務本身,于是,要想在當前的多核機器上充分利用其架構和并行運算的優勢,反而成為工程師們“不可能”完成的任務。

      LabVIEW降低并行編程的復雜性,快速開發并行構架的信號處理應用

      幸運的是,NI LabVIEW圖形化開發平臺為我們提供了一個理想的多核處理器編程環境。作為一種并行結構的編程語言,LabVIEW能將多個并列的程序分支自動分配成多個線程并分派到各個處理核上,讓一些計算量較大的數學運算或信號處理應用得以提高運行效率,并獲取最佳性能。

      我們以自動化測試中最常見的多通道信號處理分析為例。由于多通道中的頻率分析是一項占用處理器資源較多的操作,如果能夠讓程序并行地將每個通道的信號處理任務分配至多個處理器核,對于提高程序執行速度來說,就顯得尤為重要。而目前,從LabVIEW編程人員的角度來看,要想獲得這一原本“不可能”的技術優勢,唯一需要改變的只是算法結構的細微調整,而并不需要復雜且耗時耗力的代碼重建工作。

      以雙通道采樣為例,我們需要分別對高速數字化儀的兩個通道上的數據進行快速傅立葉變換(FFT)。假設我們采用的速數字化儀的兩個通道均以100 MS/s采樣率采集信號并實時分析。首先,我們來看LabVIEW中對于這一操作的傳統順序編程模型。

      1. 利用順序執行的LabVIEW代碼

      和其他文本編程語言一樣,處理多通道信號的傳統方法是將各個通道信號按順序讀入并逐通道的進行分析,上面基于LabVIEW的順序編程模型很好的說明了這點,0、1兩通道的數據被按順序讀入后,整合為一路數組,并由一個FFT函數進行信號分析并輸出。雖然順序結構能夠順利地在多核機器上運行,但確不能使得CPU負擔得到有效的分攤,因為即使在雙核的機器上, FFT程序也只能在一個CPU上被執行,而此時另一個CPU卻被閑置了。

      實際上,兩個通道的FFT運算相互獨立,如果程序能夠將兩個FFT自動分配到一臺雙核機器上的的兩個CPU上,那么理論上程序的運行效率將提高一倍。在LabVIEW的圖形化編程平臺上,情況正是如此,我們可以通過并行化處理這兩個通道來真正提高算法性能。圖2表示了一種采用并行結構的LabVIEW代碼,從圖形化編程的角度來看,僅僅是增加了一路并行的FFT函數而已。

      2. 利用并行執行的LabVIEW代碼

       

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產品

      更多
      主站蜘蛛池模板: 成人综合久久综合| 精品综合久久久久久888蜜芽| 99久久综合精品免费| 精品综合久久久久久888蜜芽| 99久久婷婷国产综合精品| 91精品国产91久久综合| 亚洲国产综合人成综合网站00| 亚洲AV日韩综合一区尤物| 精品久久人人做人人爽综合| 亚洲国产美国国产综合一区二区| 久久综合九色综合久99| 一本色道久久综合狠狠躁| 色综合久久中文字幕| 91精品一区二区综合在线| 一本久道久久综合狠狠爱| 色综合久久久久久久久久| 97se亚洲综合在线| 五月丁香综合激情六月久久| 国产成人精品久久综合| 一本色道久久综合狠狠躁篇| 色狠狠色狠狠综合天天| 亚洲综合无码精品一区二区三区| av一本久道久久综合久久鬼色| 亚洲综合一区二区三区四区五区| 久久婷婷成人综合色| 久久精品国产9久久综合| 久久丝袜精品综合网站| 国产亚洲综合色就色| 国产精品天干天干综合网| 中文字幕久久综合| 国产综合一区二区在线观看| 亚洲综合伊人久久综合| 亚洲婷婷五月综合狠狠爱 | 狠狠色丁香久久婷婷综合图片 | 狠狠色噜噜狠狠狠狠色吗综合| 亚洲综合一区国产精品| 天天欲色成人综合网站| 天天综合久久一二三区| 亚洲综合色自拍一区| 亚洲国产成人九九综合| 亚州AV综合色区无码一区|