在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA加速N粒子重力并行模擬實現(xiàn)和仿真案例

電子設計 ? 來源:Pynq ? 作者:Pynq ? 2020-12-03 15:18 ? 次閱讀

通過使用以200 MHz運行的8個并行浮點加速器,展示小型ZU3EG SoC的科學計算能力。

硬件元件

96Boards Ultra96 ×1

Avnet AES-ACC-U96-PWR ×1

USB Cable Assembly, USB Type A Plug to Micro USB Type B Plug ×1

Mini displayport cable ×1

Micro SD card (Must be 8GB or larger)×1

DisplayPort monitor ×1

USB Mouse (Optional) ×1

USB Keyboard (Optional) ×1

軟件App與線上服務

Xilinx Vivado Design Suite

Avnet Ultra96 Pynq image v2.4

介紹

牛頓物理描述了我們宇宙中的行為和非常大的物體/粒子。根據(jù)某些假設,這些定律可以應用于天文尺寸到高爾夫球(甚至更小)尺寸的物體/粒子。不同粒子之間的相互作用由以下的重力方程控制。

在N粒子系統(tǒng)中,每個粒子經(jīng)受了其他(N-1)個粒子的力。力的組合結果導致了所述粒子的加速。類似地,所有其他(N-1)個粒子同時經(jīng)歷了系統(tǒng)中其他粒子對它作用的力。所得到的的所有粒子的加速度,結合空間里的初始位置,初始速度和時間不長分別得到所有N個粒子的新位置。為了簡化模型的實現(xiàn),做出了以下的假設:

1. 所有粒子都是點質量(質點模型)

2. G=1

3. 在重力計算中引入一個修正系數(shù),以避免當兩個點質量處于完全相同的坐標時候產(chǎn)生的誤差。

該設計已經(jīng)實現(xiàn)通過python軟件加載16bit正負整數(shù)格式的初始坐標、質量、修正系數(shù)和模擬時間步長。盡管Vivado環(huán)境中提供了浮點數(shù)的加法、減法和乘法,但我們還是努力設計自定義浮點數(shù)格式。

設計:概念證明

算法采用python軟件實現(xiàn)和仿真,以下是硬件實現(xiàn)之前在PC上進行粒子模擬的主要算法和屏幕截圖。

由于迭代過程,該算法具有O(N2)的計算復雜度。這是在硬件中實現(xiàn)加速器的絕佳機會。您可以嘗試使用nbody_x86.py來查看粒子模擬在軟件中的運行速度。使用硬件實現(xiàn)的加速器可以更快地運行粒子模擬。

該算法可被矢量化,因此如果使用矢量處理器,復雜度將會降低到O(N)。下面的示例是識別計算密集型算法的關鍵部分,并在fabric/PL中為它們提供加速器。


假設在t0時刻,所有粒子的位置和速度信息都是已知的。

考慮雙粒子系統(tǒng)。由第二個粒子引起第一個粒子的加速度計算如下:

a = (G*m2)/(r^2)n

為了保持加速度的方向信息:a = (G*m2*|r|)/(r^3)

N 物體問題:

1.上述概念可以擴展到N個物體的體系。

2.在GRAPE-[x]中,修正系數(shù)“ε”用于研究尺寸的詳細影響。對于此項目,is設置為0。

3.另一個修正系數(shù)用于防止不同的顆粒彼此非常接近,即防止“r~=0”,如上面python軟件中的變量“sf”所示。

硬件設計

該設計采用8個并聯(lián)加速器發(fā)動,可完全支持多達4000多個物體并行模擬。

使用8個并行加速器的實現(xiàn)

最初的設計有一個加速器以75MHz運行。并聯(lián)增加7個加速器是的工作頻率增加了一倍以上,功耗增加了約1W。一個加速器的數(shù)據(jù)將在后面的部分中顯示,此表給出了8個并聯(lián)加速器的數(shù)據(jù)。

性能

針對4000個粒子,該設計滿足了200MHz的定時!通過添加管道修改了浮點加法和乘法。

僅使用200MHz的加速器實現(xiàn) - 數(shù)據(jù)比較

盡管邏輯復雜,但實現(xiàn)在XCZU3EG上使用一個單重力計算引擎消耗了以下資源。一個重力引擎可以計算1024個粒子之間的相互作用(由輸入和輸出的BRAM深度決定)。定時器成功關閉在200MHz。流水線技術在重力引擎中實現(xiàn)。在每個本地模塊中重置流水線以實現(xiàn)優(yōu)化全局重置繞線傳播。整個設計在單個時鐘源上運行。

浮點計算

由于科學計算中的數(shù)字從極小的數(shù)值到天文大值,IEEE754 FP32是浮點數(shù)計算的初始選擇。在IEEE754 FP32中,數(shù)字由1個符號位,8個指數(shù)位和23個尾數(shù)位表示,如圖所示:

然而,DSP48E2只能執(zhí)行27bx18b的乘法運算。 因此,選擇使用僅具有18個尾數(shù)位的自定義浮點表示。 因此,該設計中的浮點運算使用27b浮點表示。

可以這種格式表示的最小數(shù)字:+/- 1.000000000000000001 x 2 **(- 126)

可以此格式表示的最大數(shù)字:+/- 1.111111111111111111 x 2 **(127)

指數(shù)偏差為127

NaN,溢出和下溢的IEEE 754條件尚未最大限度地實施。

FP算法實現(xiàn)

實現(xiàn)了基于IPI的浮點運算。 為了有效使用DSP48,浮點數(shù)的加,乘法被限定為27位,而由于限制,浮點數(shù)的逆平方根被固定為單精度浮點表示法。 int16到浮點數(shù),浮點數(shù)到int16也是使用Xilinx IP完成的。

流程圖

下圖顯示了RAM,計算引擎,流水線重力引擎等的最高層視圖。

重力引擎

重力引擎是設計的核心。 它是按照上圖所示的算法實現(xiàn)的。下圖顯示了重力引擎和所有15個管道的實現(xiàn)細節(jié)。

控制和狀態(tài)登記; 地址空間

所有BRAM均使用基于APB3總線的RTL開發(fā)的BRAM控制器進行控制。 AXI -APB3橋在塊設計中實例化。 類似地,實現(xiàn)了另外的APB控制和狀態(tài)寄存器組以便控制計算引擎。

以下是地址段和寄存器空間:

設計層次結構

i_design_1是PS系統(tǒng),i_compute_engine是PL部分中實現(xiàn)的硬件設計。

軟件流程

Python軟件是在PYNQ框架上編寫的,用于按順序執(zhí)行以下操作:

1. 計算系統(tǒng)中N粒子的x,y,z,m的初始條件,修正系數(shù)和模擬時間步長。

2. 通過將int16的x,y,z,m值加載到BRAM中來配置計算引擎

3. 啟動計算引擎

4. 等待計算引擎完成一個時間間隔的步驟

5. 從TXRAM中檢索新的x,y,z

6. 使用DisplayPort模塊創(chuàng)建DisplayPort框架。 將幀歸零,使用新數(shù)據(jù)加載幀并將幀寫入監(jiān)視器。

7. 重復!

DisplayPort配置為1280 x 720像素

粒子的新位置可能遠遠超出顯示器尺寸。它們只是沒有顯示。

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 加速器
    +關注

    關注

    2

    文章

    809

    瀏覽量

    38148
  • python
    +關注

    關注

    56

    文章

    4811

    瀏覽量

    85090
收藏 人收藏

    評論

    相關推薦

    基于FPGA的ARM并行總線設計與仿真分析

    由于FPGA技術和ARM技術應用越來越廣泛,通過設計并行總線接口來實現(xiàn)兩者之間的數(shù)據(jù)交換,可以較容易地解決快速傳輸數(shù)據(jù)的需求,因此設計滿足系統(tǒng)要求的FPGA
    發(fā)表于 08-15 10:44 ?8196次閱讀
    基于<b class='flag-5'>FPGA</b>的ARM<b class='flag-5'>并行</b>總線設計與<b class='flag-5'>仿真</b>分析

    基于FPGA的軟硬件協(xié)同仿真加速技術

    在系統(tǒng)設計中,硬件復雜電路設計的調試與仿真工作對于設計者來說十分困難。為了降低仿真復雜度,加快仿真速度,本文提出利用FPGA加速的思想,
    發(fā)表于 03-25 11:52 ?5456次閱讀

    并行3維全電磁粒子模擬軟件NEPTUNE的外加磁場模塊設計

    介紹了3維全電磁粒子模擬軟件NEPTUNE中常用外加磁場加載模塊的設計思路和方法,包括簡單的磁場分布方程和離散數(shù)值加載、螺線管磁場加載、直線及螺旋線磁場分布加載、搖擺器磁場加載以及永磁體磁場加載等
    發(fā)表于 05-13 09:12

    真心求助,基于FPGA重力感應賽車游戲的一些問題

    是利用重力感應實現(xiàn)控制賽車行進過程中四個狀態(tài),前傾加速,后傾減速,左右控制方向。我們使用的是xinlinx的ISE設計,那么具體設計過程中如何實現(xiàn)上述狀態(tài)
    發(fā)表于 03-21 08:52

    加速傳感器(重力感應)?

    度傳感器傾斜一個角度,重力場會在感應場上產(chǎn)生一個分量,通過這個分量,可以測量出手機傾斜了多少角度,由此實現(xiàn)一些前后左右的控制;另外一種就是所謂的動態(tài)加速度,可以偵測速度、撞擊等.手機通過加速
    發(fā)表于 07-13 17:46

    Z軸加速度去除重力影響原理是什么

    * vecxZ + tempacc.y * vecyZ + tempacc.z * veczZ - baseZacc; /*Z軸加速度(去除重力加速度)*/”。我搞不懂原理是什么,哪位大神給指點指點。去除重力
    發(fā)表于 07-05 04:36

    重力加速度的研究

    重力加速度的研究 重力加速度是一個重要的地球物理常數(shù),其值隨地理緯度和海拔高度的不同而不同 . 準確測定不同地區(qū)的重力加速度在
    發(fā)表于 11-24 15:14 ?2398次閱讀

    基于FPGA的ARM并行總線研究與仿真

    基于FPGA的ARM并行總線研究與仿真
    發(fā)表于 01-24 16:54 ?21次下載

    DSP并行系統(tǒng)的并行粒子群優(yōu)化目標跟蹤

    DSP并行系統(tǒng)的并行粒子群優(yōu)化目標跟蹤
    發(fā)表于 10-20 10:54 ?6次下載
    DSP<b class='flag-5'>并行</b>系統(tǒng)的<b class='flag-5'>并行</b><b class='flag-5'>粒子</b>群優(yōu)化目標跟蹤

    改進模擬退火與粒子群混合算法

    效率低的缺點,對搜索策略和概率性的劣向轉移作出了改進,并將改進后的模擬退火思想引入粒子群優(yōu)化算法中,使結合后的算法結合了粒子并行計算的特點和模擬
    發(fā)表于 11-30 17:25 ?1次下載
    改進<b class='flag-5'>模擬</b>退火與<b class='flag-5'>粒子</b>群混合算法

    上海交大π2.0超算實現(xiàn)天文學N模擬粒子數(shù)的新記錄

    近日,上海交通大學π2.0實現(xiàn)天文學N模擬粒子數(shù)新突破,打破世界紀錄。
    的頭像 發(fā)表于 03-17 15:59 ?2040次閱讀

    如何使用FPGA實現(xiàn)并行結構FFT

    及布局布線,并用ModelSim和Matlab對設計作了聯(lián)合仿真。結果表明,通過利用FPGA器件中大量的乘法器、邏輯單元及存儲器等硬件資源,采用全并行加流水結構,可在一個時鐘節(jié)拍內完成32點FFT運算的功能,設計最高運算速度可達
    發(fā)表于 03-31 15:22 ?11次下載
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>實現(xiàn)</b>全<b class='flag-5'>并行</b>結構FFT

    無與倫比的并行處理—FPGA加速的根本基石

    電子發(fā)燒友網(wǎng)站提供《無與倫比的并行處理—FPGA加速的根本基石.pdf》資料免費下載
    發(fā)表于 09-15 14:57 ?3次下載
    無與倫比的<b class='flag-5'>并行</b>處理—<b class='flag-5'>FPGA</b><b class='flag-5'>加速</b>的根本基石

    粒子加速器的加速原理是啥呢?

    粒子加速器的加速原理是啥呢? 粒子加速器是一種重要的實驗設備,用于研究粒子物理學、核物理學等領域
    的頭像 發(fā)表于 12-18 13:52 ?2403次閱讀

    用DE1-SOC進行硬件加速的2D N-Body重力模擬器設計

    該項目的目標是創(chuàng)建一個用DE1-SOC進行硬件加速的2D N-Body重力模擬器。
    的頭像 發(fā)表于 04-09 11:08 ?665次閱讀
    用DE1-SOC進行硬件<b class='flag-5'>加速</b>的2D <b class='flag-5'>N</b>-Body<b class='flag-5'>重力</b><b class='flag-5'>模擬</b>器設計
    主站蜘蛛池模板: 成年男人永久免费看片 | 五月天婷婷综合 | 色综合天天综合网国产人 | 欧美乱论视频 | 色综合天天射 | 黄色小网站在线观看 | 秋霞特色大片18入口私人高清 | 一级午夜免费视频 | 夜间免费小视频 | 亚洲国产午夜精品理论片的软件 | 2021韩国理论片ok电影天堂 | 免费的色网站 | 5g成人影院 | 久久鬼 | a资源在线观看 | 激情啪啪网站 | 特级黄视频 | 4tube高清性欧美 | 国产在线播放一区 | 国产亚洲精品久久久久久午夜 | 黄色大片播放 | 91成人在线免费视频 | 天天色综合5| 国产精品久久久久国产精品三级 | 你懂的在线视频播放 | 亚洲免费在线观看 | 日本免费不卡在线一区二区三区 | 五月激情五月婷婷 | yy6080三级理论韩国日本 | 91高清在线成人免费观看 | 国产午夜精品一区二区 | 特黄特色大片免费播放器9 特黄特色大片免费视频播放 | 天堂资源在线bt种子8 | 欧美tube6最新69| 色天天综合久久久久综合片 | 3344成年在线视频免费播放男男 | 成年看片免费高清观看 | 天天曰天天干天天操 | 色福利网站 | 7086bt伙计 福利一区 | 亚洲不卡在线播放 |