• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于OpenCL的自動微分并行實(shí)現(xiàn)及其應(yīng)用

    2019-05-27 08:23:16
    計(jì)算機(jī)測量與控制 2019年5期
    關(guān)鍵詞:工作組微分導(dǎo)數(shù)

    (1.浙江東方職業(yè)技術(shù)學(xué)院 電氣自動化研究室,浙江 溫州 325035;2.溫州大學(xué) 電氣數(shù)字化設(shè)計(jì)技術(shù)國家地方聯(lián)合工程實(shí)驗(yàn)室,浙江 溫州 325035;3.湖南大學(xué) 電氣與信息工程學(xué)院,湖南 長沙 410082)

    0 引言

    在很多的數(shù)值優(yōu)化[1]方法中都會涉及到對函數(shù)導(dǎo)數(shù),雅可比矩陣的計(jì)算。在傳統(tǒng)上,這些計(jì)算都是通過手工完成的。手工的計(jì)算方式對于很多小型的問題來說是比較簡單可行的。但是對于有眾多參數(shù)的復(fù)雜函數(shù)來說,手工計(jì)算其導(dǎo)數(shù)將是一個龐雜且容易出錯的過程。隨著現(xiàn)代計(jì)算機(jī)的迅速發(fā)展,對導(dǎo)數(shù)的計(jì)算都轉(zhuǎn)而采用計(jì)算機(jī)來實(shí)現(xiàn)。當(dāng)前有三種通過計(jì)算機(jī)計(jì)算導(dǎo)數(shù)的方式。第一種為使用有限差分近似的數(shù)值微分方式。該方式簡單實(shí)用,但存在著較大的舍入和截取誤差。第二種方式為是使用符號計(jì)算的符號微分,該方式可以得到精確的封閉形式的求導(dǎo)結(jié)果。但存在一個嚴(yán)重的問題,那就是隨著函數(shù)的復(fù)雜度的增加,符號微分產(chǎn)生的符號表達(dá)式會呈指數(shù)級的增長。這就是所謂的表示式膨脹問題。而第三種方式則是本文所討論的自動微分[5-6]方式。自動微分克服了前兩種方式的缺點(diǎn),會是數(shù)值計(jì)算方面主要的導(dǎo)數(shù)計(jì)算方式。

    自動微分可以很有效地應(yīng)用于計(jì)算機(jī)視覺中的大規(guī)模光束平差[2-3](Bundle Adjustment, BA)優(yōu)化問題中。光束平差通過不斷地優(yōu)化2D點(diǎn)的誤差來優(yōu)化三維重建中相機(jī)和3D點(diǎn)的位置。采用的方法通常有Levenberg-Marquardt (LM)、Dog-Leg(DL)等[4]。這些方法都需要計(jì)算投影函數(shù)x=f(X)的導(dǎo)數(shù)來形成雅可比矩陣,其中x為2D點(diǎn),X為其對應(yīng)的3D點(diǎn)。由于3D點(diǎn)的數(shù)量眾多,可達(dá)到上百萬級。因此,對這一過程進(jìn)行自動微分的并行化計(jì)算可以大大提高計(jì)算的速度。

    自動微分有前向模式和反向模式兩種。對于含有多個參數(shù)的函數(shù),從 計(jì)算效率上來說更傾向于采用后向計(jì)算模式。目前存在這些通用的用于計(jì)算自動微分的軟件,如ADOL-C[7]、CPPAD以及Ceres Solver。對于用于光束平差的Ceres Solver,其實(shí)現(xiàn)了一個基于OpenMP的自動微分。在本文中,則基于開放的OpenCL構(gòu)架,提供了一個更高效的并行化自動微分實(shí)現(xiàn)。

    1 自動微分的原理

    相對于封閉形式求導(dǎo)結(jié)果或者近似的數(shù)值求導(dǎo)結(jié)果,自動微分可以獲得無截?cái)嗾`差的數(shù)值結(jié)果。這很大程度上得益于鏈?zhǔn)椒▌t和計(jì)算機(jī)編程模式的相結(jié)合。每一個函數(shù)可以被分解為基本運(yùn)算符的組合,其中基本運(yùn)算符包括加、減、乘、除等二元算術(shù)運(yùn)算符,以及像三角函數(shù)和指數(shù)函數(shù)等在內(nèi)的超越函數(shù)。因此函數(shù)可以采用計(jì)算圖的形式來表示。例如考慮如下的函數(shù):

    (1)

    式中,可以視為一個向量函數(shù)f:R2|→R2。其分解得到的計(jì)算圖見0。圖中每個運(yùn)算都由一個帶編號的節(jié)點(diǎn)表示??梢酝ㄟ^前向和反向兩個模式來計(jì)算f關(guān)于x的導(dǎo)數(shù)。

    圖1 公式(1)的計(jì)算流程圖

    1.1 前向計(jì)算模式

    令vi-n=xi,i∈[1,n]為輸入,vi,i∈[1,l]為中間變量,ym-i,i∈[m-1,0]為函數(shù)fk,k=m-i的輸出。一個三階段的記法可以用來對導(dǎo)數(shù)的前向計(jì)算進(jìn)行形式化,自動微分前向計(jì)算模式的計(jì)算過程如下所示:

    (2)

    (3)

    (4)

    式中,關(guān)系ji表示vi與vj是直接相關(guān)的。在計(jì)算圖也表示節(jié)點(diǎn)vi是vj的一個直接后繼。φi是描述基本運(yùn)算的函數(shù)。ui=(vj)ji表示vi的所有前驅(qū)的集合。令所有輸入為一個向量x=[x1,…xi,…,xn]。若將輸入的導(dǎo)數(shù)設(shè)定為則就為希望計(jì)算得到的導(dǎo)數(shù)?fk/?xi。前向計(jì)算模式比較簡潔易懂,并且對于f:R|→Rm這樣的標(biāo)量函數(shù)來說,其計(jì)算是非常有效的。因?yàn)檩斎雲(yún)?shù)只有一個,那么只需要令便可以計(jì)算出所有的導(dǎo)數(shù)值。但是對于像f:Rn|→R或f:Rn|→Rm這樣的向量函數(shù),雙述的計(jì)算過程必須運(yùn)行n次或n×m次。而反向的計(jì)算模式則可以避免這個問題,提高計(jì)算的效率。

    1.2 反向計(jì)算模式

    表1 自動微分反向計(jì)算模式的計(jì)算過程

    該計(jì)算過程分為兩部分。第一部分像正向計(jì)算模式一樣計(jì)算出函數(shù)值。第二部分則反向地估計(jì)函數(shù)對所有輸入?yún)?shù)的導(dǎo)數(shù)。對于函數(shù)f:Rn|→Rm,所示的計(jì)算過程只需要運(yùn)行m次便可以獲得所有的求導(dǎo)結(jié)果,從而得到最終的雅克布矩陣。

    2 并行實(shí)現(xiàn)

    本節(jié)中實(shí)現(xiàn)的基于OpenCL[8-9]的自動微分采用反向計(jì)算模式,可以用于“l(fā)arge-small”問題。所謂的“l(fā)arge-small”問題,就是單一函數(shù)的計(jì)算圖并不復(fù)雜,但是卻存在著大量的重復(fù)的計(jì)算。光束平差問題便是一個例子。由于大量的3D點(diǎn)和相機(jī)的存在,就需要計(jì)算大量的投影函數(shù)對3D點(diǎn)坐標(biāo)和相機(jī)參數(shù)的導(dǎo)數(shù),來形成最終的稀疏雅克布矩陣?;贠penCL的自動微分的實(shí)現(xiàn)分為主機(jī)端和設(shè)備端兩部分。在主機(jī)端運(yùn)用了C++的函數(shù)重載和模板特性[10]來有效地生成計(jì)算圖。而設(shè)備端則根據(jù)計(jì)算圖并行地計(jì)算出求導(dǎo)結(jié)果。

    2.1 主機(jī)端編程

    為了簡化使用的方式,對待求導(dǎo)函數(shù)的構(gòu)建應(yīng)該盡量的趨近于原生的C/C++風(fēng)格的代碼編寫。式的函數(shù)可以寫成如下的簡潔形式:

    DVAR x1,x2;

    DVAR f1=ln(x1)+x1*x2-sin(x1)

    DVAR f2=x1*x2

    要實(shí)現(xiàn)如此的函數(shù)構(gòu)建的簡單化,需要完成一些關(guān)鍵的任務(wù)。首先,定義一個用于描述節(jié)點(diǎn)的結(jié)構(gòu)體:

    template

    struct ADV_Node {

    OpType op;

    shared_ptr> arg[2];

    T val;

    T dval;

    int id;

    }

    在該結(jié)構(gòu)體中,OpType是一個用于指示運(yùn)算符的枚舉類型,指示該節(jié)點(diǎn)為其前驅(qū)進(jìn)行某種運(yùn)算的結(jié)果。除了常規(guī)的運(yùn)算之外,還引入“CONST”和“INPUT”來分別表示該節(jié)點(diǎn)是否為常量或者函數(shù)的輸入?yún)?shù)。每個節(jié)點(diǎn)在生成時(shí)還被賦予一個唯一的id值。arg指向該節(jié)點(diǎn)的一個或兩個前驅(qū)節(jié)點(diǎn),指示該節(jié)點(diǎn)運(yùn)算符的操作數(shù)。dval用于在求導(dǎo)過程中存放函數(shù)對該節(jié)點(diǎn)的導(dǎo)數(shù)值。

    然后,實(shí)現(xiàn)了一個Wrapper類ADV來描述最終的數(shù)學(xué)形式上的變量,并用此來完成數(shù)學(xué)表達(dá)式的構(gòu)建。ADV類的定義如下:

    template

    class ADV {

    public:

    shared_ptr> ADVptr;

    ADV();

    ADV(shared_ptr> ptr);

    ADV(const ADV &adv);

    ADV(const T val);

    ADV& operator=(const ADV &rhs);

    ADV& operator=(const T &val);

    }

    采用智能指針來為每個ADV變量創(chuàng)建節(jié)點(diǎn)可以使得ADV變量能夠不受作用域的限制,像數(shù)學(xué)形式上的函數(shù)那樣完成代碼中的對應(yīng)函數(shù)。例如要實(shí)現(xiàn)一個3元素向量的點(diǎn)積,可以寫為“dot3(ADV *a, ADV*b)”。該函數(shù)能返回一個新建的ADV變量來記錄所有的運(yùn)行結(jié)構(gòu)。ADV類中所有的構(gòu)造函數(shù)和賦值運(yùn)算符重載都用來確保變量的正確生成。所有的關(guān)于ADV變量間的運(yùn)算都用過類定義外的友元的函數(shù)重載來實(shí)現(xiàn)。每個函數(shù)重載創(chuàng)建新ADV變量來記錄這一關(guān)于其前驅(qū)的運(yùn)算。例如加法的函數(shù)重載實(shí)現(xiàn)為:

    ADV operator+(const ADV &x,

    const ADV &y)

    {

    ADV adv;

    adv()->val=y()->val+x()->val;

    adv()->op=ADD;

    adv()->var[0]=x.ADVptr;

    加大依法治林力度,提升森林資源管護(hù)水平,全市將以執(zhí)行《煙臺市森林防火條例》為總抓手,突出抓好以防火道路網(wǎng)、引水上山水網(wǎng)、預(yù)警監(jiān)測網(wǎng)、森林消防專業(yè)隊(duì)伍、專職護(hù)林隊(duì)伍為主體的“三網(wǎng)兩隊(duì)”建設(shè),大力構(gòu)建森林火災(zāi)應(yīng)急處置信息化、撲救隊(duì)伍專業(yè)化、設(shè)施裝備現(xiàn)代化體系,開展嚴(yán)厲打擊非法野外用火行為專項(xiàng)行動,全面提升森林防火能力和法制化水平,確保全市森林防火形勢持續(xù)保持平穩(wěn)。同時(shí),認(rèn)真貫徹執(zhí)行相關(guān)法律法規(guī),進(jìn)一步規(guī)范涉林審核審批,持續(xù)開展嚴(yán)厲打擊亂征濫占林地、亂砍濫伐林木等違法行為專項(xiàng)行動,積極運(yùn)用飛防、地面噴灑藥物、釋放天敵生物等多種措施進(jìn)行綜合防治,確保林業(yè)有害生物實(shí)現(xiàn)持續(xù)有效控制。

    adv()->var[1]=y.ADVptr;

    return adv;

    }

    程序上的“c=a+b;”表達(dá)式便可以直接地表示數(shù)學(xué)上的c=a+b。通過使用不同運(yùn)算的函數(shù)重載來構(gòu)造函數(shù),函數(shù)所對應(yīng)的計(jì)算圖也同時(shí)被構(gòu)建出來。另外對于大多數(shù)情況下使用的雙精度浮點(diǎn)型來說,可以將ADV定義為DVAR。

    2.2 計(jì)算序列的生成

    在構(gòu)建函數(shù)以及對應(yīng)的計(jì)算圖之后,便可以據(jù)此運(yùn)用反向計(jì)算模式來進(jìn)行導(dǎo)數(shù)的計(jì)算。為了正確地計(jì)算各個節(jié)點(diǎn)的導(dǎo)數(shù)值,同時(shí)也是為了便于設(shè)備端的并行計(jì)算。需要將計(jì)算圖轉(zhuǎn)化為計(jì)算序列。

    在反向計(jì)算模式下,計(jì)算序列又分為正向計(jì)算序列和反向計(jì)算序列,正向計(jì)算序列用于計(jì)算函數(shù)值,而反向計(jì)算序列則用于計(jì)算函數(shù)的導(dǎo)數(shù)值。由于每個節(jié)點(diǎn)的id在生成時(shí)滿足后繼節(jié)點(diǎn)的id值一定大于其前驅(qū)節(jié)點(diǎn)的id值。所以用于計(jì)算函數(shù)值的正向計(jì)算序列可以簡單地取為各節(jié)點(diǎn)的升序排列。然而在確定反向計(jì)算序列時(shí),必須考慮節(jié)點(diǎn)之間的依賴關(guān)系。如0所示,如果先從節(jié)點(diǎn)7開始處理,在處理節(jié)點(diǎn)2時(shí),其所依賴的節(jié)點(diǎn)5的導(dǎo)數(shù)值還并沒有被計(jì)算出來。

    圖2 編程模式下的計(jì)算圖及正向和反向計(jì)算序列

    因此,采用拓?fù)渑判騺硗瓿煞聪蛴?jì)算序列生成。所生成的反向計(jì)算序列中各節(jié)點(diǎn)滿足相互間的依賴關(guān)系。拓?fù)渑判虻膫未a見算法1:

    算法1:用于生成反向計(jì)算序列拓?fù)渑判?/p>

    輸入:計(jì)算圖G=(V,E)

    輸出:反向計(jì)算序列L

    初始化計(jì)數(shù)數(shù)值C, 用于記錄各節(jié)點(diǎn)的入度

    forvinVdo

    令s,t為v的前驅(qū)節(jié)點(diǎn)

    增加s,t在C中的入度

    end for

    whileL非滿 do

    找到具有零入度的節(jié)點(diǎn)v

    添加到L尾部

    令s,t為v的前驅(qū)節(jié)點(diǎn)

    減少s,t在C中的入度

    end while

    2.3 設(shè)備端并行計(jì)算

    當(dāng)在主機(jī)端完成計(jì)算序列的生成之后,便可以將需計(jì)算的函數(shù)的參數(shù)傳入設(shè)備端,在設(shè)備端按照計(jì)算序列計(jì)算出函數(shù)值以及函數(shù)的導(dǎo)數(shù)值。

    在OpenCL下,多個kernel函數(shù)并行地在如CPU、GPU或者FPGA設(shè)備上運(yùn)行,其每個運(yùn)行的實(shí)例稱為一個工作項(xiàng)。其并行的數(shù)量取決于設(shè)備上計(jì)算單元的數(shù)量,以及計(jì)算單元上局部存儲器大小等因素。主機(jī)端需要指定全局工作項(xiàng)的數(shù)量,其對應(yīng)到需要進(jìn)行求導(dǎo)的函數(shù)的數(shù)量。同時(shí)也可以指定局部工作項(xiàng)的數(shù)量,形成工作組。每個工作組中的工作項(xiàng)以SIMT(Single Instruction Multiple Thread)的模式,并且共享一組數(shù)量有限的高速局部存儲器。在像光束平差的應(yīng)用中,所有的導(dǎo)數(shù)計(jì)算使用相同的計(jì)算圖和序列。如果計(jì)算圖的尺寸比較小,那么可以將生成的計(jì)算序列傳輸?shù)骄植看鎯ζ饕栽L問提高速度。

    用于執(zhí)行每個實(shí)際求導(dǎo)過程的kernel函數(shù)相對比較簡單。首先按照給定的正向計(jì)算序列和函數(shù)參數(shù)值計(jì)算出函數(shù)值。然后再按照反向計(jì)算序列依次計(jì)算每個節(jié)點(diǎn)的導(dǎo)數(shù)值。最后將作為輸入節(jié)點(diǎn)的導(dǎo)數(shù)返回給主機(jī)端。該計(jì)算過程的偽代碼見算法2:

    算法2:計(jì)算導(dǎo)數(shù)的Kernel函數(shù)for i=0 to size(forward_seq) do

    compute_val(node_op,arg1_val,arg2_val)

    end for

    for i=0 to size(input_args) do

    val_out[base+i]=node_val[i]

    end for

    for i=0 to size(funcs) do

    for j=0 to size(reverse_seq)

    compute_diff(node_op,node_val,

    arg1_diff,arg2_diff)

    end for

    for j=0 to size(input_args) do

    diff_out[base+i*N+j]=node_diff[j]

    end for

    end for

    3 應(yīng)用實(shí)例

    四元數(shù)可以表示為q=。在相機(jī)坐標(biāo)系下對3D點(diǎn)的旋轉(zhuǎn)可以表示為:

    Rot(X)=q·q(X)=q⊕q(X)⊕q-1

    (5)

    其中:⊕為Hamilton積,q(X)則用于將X變?yōu)樗脑獢?shù)形式<0,X>。在Rodrigues參數(shù)形式中,旋轉(zhuǎn)表示為繞單位向量k的旋轉(zhuǎn),旋轉(zhuǎn)角度為θ。因此,X的旋轉(zhuǎn)在Rodrigues參數(shù)形式下表示為:

    Rot(X)=Xcosθ+(k×X)sinθ+

    (1-cosθ)(k*v)k

    (6)

    通過將旋轉(zhuǎn)與位移的結(jié)合,可以得到3D點(diǎn)在相機(jī)上的投影。在光束平差中,視3D點(diǎn)坐標(biāo)X和相機(jī)矩陣[R|t]為投影x的參數(shù)。采用Rodrigues參數(shù)形式,編寫如下的代碼完成x相對于X和[R|t]的計(jì)算圖的構(gòu)建:

    DVAR x,y;

    DVAR theta2=dot(angle_axis, angle_axis);

    DVAR theta=sqrt(theta2);

    DVAR costheta=cos(theta);

    DVAR sintheta=sin(theta);

    DVAR theta_inverse=1.0/theta;

    DVAR w[3]={ angle_axis[0]*theta_inverse,

    angle_axis[1]*theta_inverse,

    angle_axis[2]*theta_inverse

    };

    DVAR w_cross_pt[3];

    cross(w,pt3D,w_cross_pt);

    DVAR tmp=dot(w,pt3D)*(1.0-costheta);

    DVAR tmp3D[3];

    tmp3D[0]=pt3D[0]*costheta+

    w_cross_pt[0]*sintheta+w[0]*tmp;

    tmp3D[1]=pt3D[1]*costheta +

    w_cross_pt[1]*sintheta+w[1]*tmp;

    tmp3D[2]=pt3D[2]*costheta +

    w_cross_pt[2]*sintheta+w[2]*tmp;

    tmp3D[0]=tmp3D[0]+transl[0];

    tmp3D[1]=tmp3D[1]+transl[1];

    tmp3D[2]=tmp3D[2]+transl[2];

    x=focal*tmp3D[0]/tmp3D[2];

    y=focal*tmp3D[1]/tmp3D[2];

    其對應(yīng)的計(jì)算圖見圖3。該計(jì)算圖隨后被轉(zhuǎn)化為計(jì)算序列,并伴隨所有3D點(diǎn)坐標(biāo)和相機(jī)參數(shù)送入設(shè)備的并行計(jì)算。計(jì)算出投影點(diǎn)坐標(biāo),以及投影點(diǎn)作為函數(shù)對3D點(diǎn)坐標(biāo)和相機(jī)參數(shù)的導(dǎo)數(shù)。最終獲得雅可比矩陣的每個塊Aij和Bij。Aij為投影點(diǎn)坐標(biāo)(x,y)對3D點(diǎn)坐標(biāo)(X,Y,Z)的導(dǎo)數(shù)。Bij為投影點(diǎn)坐標(biāo)對向量化的相機(jī)參數(shù)p的導(dǎo)數(shù)。

    圖3 Rodrigues參數(shù)形式下投影函數(shù)的計(jì)算圖

    4 測試與分析

    本節(jié)中對實(shí)現(xiàn)的并行化自動微分進(jìn)行測試。將其應(yīng)用到BAL(Bundle Adjustment in the Large)問題[12]中。所選擇的數(shù)據(jù)集見表表3。作為對比,同時(shí)引入了對Ceres Solver在該問題上的測試。Ceres Solver是Google公司推出的用于解大型數(shù)值優(yōu)化問題的開源軟件。其中的自動微分基于OpenMP多線程框架,在CPU上實(shí)現(xiàn)了線程級別的并行計(jì)算。

    表2 各數(shù)據(jù)集的主要數(shù)據(jù)

    測試的平臺為一臺兼容PC機(jī)。采用的處理器為Intel XEON E5 2643 v2,其共有12個超線程核心,運(yùn)行頻率為3.2 GHz,配備的內(nèi)存為1866 MHz的8GB DDR3 RAM。 用于測試OpenCL并行計(jì)算的GPU采用AMD的R9 290,其共有40個計(jì)算單元,4GB顯存,核心和顯存的工作頻率分別為945 MHz和1 240 MHz。R9 290能夠提供很強(qiáng)大的并行計(jì)算能力,其單精度浮點(diǎn)計(jì)算性能可達(dá)4848 GFLOPS,而雙精度浮點(diǎn)計(jì)算能力也可達(dá)到606 GFLOPS。對于大多數(shù)科學(xué)計(jì)算來說,例如使用光束平差法的優(yōu)化問題,通常都使用雙精度浮點(diǎn)數(shù)據(jù)。

    圖4 工作組尺寸對性能的影響

    首先測試工作組的大小對計(jì)算的性能的影響,采用的數(shù)據(jù)集為Dubrovnik。工作組的大小從4變化到128。在CPU和GPU上各運(yùn)行100次取均值,得到的結(jié)果見0。從結(jié)果可以看出,CPU運(yùn)行所需時(shí)間普遍小于GPU所需時(shí)間。隨著工作組尺寸的增長,GPU計(jì)算的性能會逐漸的下降。其主要原因在于GPU上工作組內(nèi)存儲器的訪問沖突。GPU上的存儲器按較大地址塊(如1K字節(jié))的形式訪問,同一個塊上的地址必須訪問。而在CPU上該問題得到很大的緩解,因?yàn)镃PU上的地址塊大小要小很多。

    在對所有的數(shù)據(jù)進(jìn)行測試時(shí),結(jié)合對工作組尺寸的分析,針對CPU采用的工作組尺寸為32,而針對GPU采用的工作組尺寸為8。所獲得的測試結(jié)果見0。使用同樣的CPU,本文基于OpenCL的方法比Ceres Solver基于OpenMP的方法在速度上快了大約3.6倍。而基于GPU的實(shí)現(xiàn)比Ceres Solver快了1.6倍。由此可見,CPU實(shí)現(xiàn)比GPU實(shí)現(xiàn)的性能要好。盡管R9 290的GPU有40個計(jì)算單元,但其只運(yùn)行在1 GHz。而XEON E5的CPU運(yùn)行在3.2 GHz。同時(shí),自動微分中存在著許多的轉(zhuǎn)移分支,這并不利于GPU發(fā)揮其流水線的特性。相反,CPU是被設(shè)計(jì)為執(zhí)行復(fù)雜任務(wù)的,有著強(qiáng)大的分支預(yù)測能力。因此,大規(guī)模的自動微分更適合在多核的CPU中執(zhí)行。

    表3 自動微分在各數(shù)據(jù)集上的測試結(jié)果

    5 總結(jié)

    本文首先展示了自動微分系統(tǒng)的工作原理,包括正向模式和反向模式。對于多參數(shù)的函數(shù),揭示了反正模式比正向模式具有更高的效率。以O(shè)penCL為并行計(jì)算框架,實(shí)現(xiàn)了針對大型優(yōu)化問題的并行化自動微分。該實(shí)現(xiàn)采用反向計(jì)算模式,以C/C++的風(fēng)格構(gòu)建函數(shù),并生成計(jì)算圖和計(jì)算序列。以光束平差為應(yīng)用背景,通過測試,該實(shí)現(xiàn)比Ceres Soler快約3.6倍。同時(shí)可以發(fā)現(xiàn),自動微分在CPU上的實(shí)現(xiàn)要優(yōu)于在GPU上的實(shí)現(xiàn)。

    猜你喜歡
    工作組微分導(dǎo)數(shù)
    解導(dǎo)數(shù)題的幾種構(gòu)造妙招
    擬微分算子在Hp(ω)上的有界性
    肖幼率工作組赴戴家湖涵指導(dǎo)搶險(xiǎn)
    治淮(2020年8期)2020-09-22 06:25:46
    上下解反向的脈沖微分包含解的存在性
    32個工作組印跡 >
    中國民政(2017年13期)2017-08-01 00:07:27
    關(guān)于導(dǎo)數(shù)解法
    借助微分探求連續(xù)函數(shù)的極值點(diǎn)
    導(dǎo)數(shù)在圓錐曲線中的應(yīng)用
    磁縣政協(xié)專題聽取委員工作組2015年工作匯報(bào)
    鄉(xiāng)音(2016年2期)2016-02-26 20:38:40
    對不定積分湊微分解法的再認(rèn)識
    噜噜噜噜噜久久久久久91| 国产成人一区二区在线| 在线免费观看的www视频| 国产激情偷乱视频一区二区| 国产精品爽爽va在线观看网站| 夫妻性生交免费视频一级片| 中文字幕免费在线视频6| 久久精品夜色国产| 热99在线观看视频| 婷婷色av中文字幕| 精品久久久久久久久av| 尾随美女入室| 午夜激情福利司机影院| 两个人视频免费观看高清| 亚洲综合色惰| 欧美人与善性xxx| 国产精品永久免费网站| 国产午夜精品久久久久久一区二区三区| 亚洲精品乱码久久久久久按摩| 久久精品国产鲁丝片午夜精品| 亚洲va在线va天堂va国产| 亚洲欧美日韩无卡精品| 1000部很黄的大片| 国产探花极品一区二区| av在线天堂中文字幕| 精品人妻偷拍中文字幕| 乱码一卡2卡4卡精品| 国产精品一区二区三区四区久久| 国产一区有黄有色的免费视频 | 国产伦在线观看视频一区| 国产黄色视频一区二区在线观看 | 又黄又爽又刺激的免费视频.| 国产av码专区亚洲av| 成年版毛片免费区| 国产伦一二天堂av在线观看| 国产高清三级在线| 亚洲av电影不卡..在线观看| 国产高清视频在线观看网站| .国产精品久久| 嘟嘟电影网在线观看| 欧美xxxx性猛交bbbb| 91久久精品国产一区二区成人| 亚洲国产欧美人成| av免费在线看不卡| 两性午夜刺激爽爽歪歪视频在线观看| 99热这里只有精品一区| 免费黄色在线免费观看| 激情 狠狠 欧美| 久久久成人免费电影| 日日撸夜夜添| 黄色一级大片看看| 国产精品不卡视频一区二区| 国产大屁股一区二区在线视频| av在线天堂中文字幕| 亚洲av男天堂| 国产av在哪里看| 免费看a级黄色片| 亚洲欧美精品自产自拍| 亚洲欧美日韩卡通动漫| av免费在线看不卡| 国产精品一区二区性色av| 免费av观看视频| 美女高潮的动态| 嫩草影院入口| 少妇的逼好多水| 深夜a级毛片| 你懂的网址亚洲精品在线观看 | 你懂的网址亚洲精品在线观看 | 久久久久久伊人网av| 国产午夜福利久久久久久| 丝袜喷水一区| 韩国av在线不卡| 天天躁日日操中文字幕| 变态另类丝袜制服| 亚洲成人精品中文字幕电影| 一级黄色大片毛片| 久久久欧美国产精品| 国产色爽女视频免费观看| 国产伦精品一区二区三区视频9| 人人妻人人澡人人爽人人夜夜 | 最近的中文字幕免费完整| 国产综合懂色| 一级二级三级毛片免费看| 久久精品夜夜夜夜夜久久蜜豆| 欧美三级亚洲精品| 秋霞伦理黄片| 91精品国产九色| 亚洲一区高清亚洲精品| 成人鲁丝片一二三区免费| 久久精品久久久久久久性| av在线播放精品| 中文字幕熟女人妻在线| 亚洲av福利一区| 亚洲自拍偷在线| 久久欧美精品欧美久久欧美| 日本熟妇午夜| 小蜜桃在线观看免费完整版高清| 99热精品在线国产| 国产在视频线精品| 69av精品久久久久久| 中文精品一卡2卡3卡4更新| 26uuu在线亚洲综合色| 久久精品国产自在天天线| 久久久久久国产a免费观看| 两个人的视频大全免费| 国产免费福利视频在线观看| 欧美潮喷喷水| 麻豆av噜噜一区二区三区| 亚洲精品国产av成人精品| or卡值多少钱| 亚洲精品成人久久久久久| 一区二区三区高清视频在线| 一个人看视频在线观看www免费| 亚洲国产精品国产精品| 狂野欧美白嫩少妇大欣赏| 欧美一区二区亚洲| 国产高清视频在线观看网站| 3wmmmm亚洲av在线观看| 午夜日本视频在线| 亚洲电影在线观看av| 免费看光身美女| 嘟嘟电影网在线观看| 中文字幕精品亚洲无线码一区| 欧美激情在线99| 乱人视频在线观看| 亚洲av福利一区| 亚洲精品国产成人久久av| 女人十人毛片免费观看3o分钟| 亚洲五月天丁香| 国产精品精品国产色婷婷| 狂野欧美激情性xxxx在线观看| 免费看美女性在线毛片视频| 校园人妻丝袜中文字幕| 观看美女的网站| 九九热线精品视视频播放| 色噜噜av男人的天堂激情| 在线a可以看的网站| 国产v大片淫在线免费观看| 国产精品久久久久久av不卡| 免费观看a级毛片全部| 国产成人freesex在线| 国产一级毛片在线| 国产私拍福利视频在线观看| 99视频精品全部免费 在线| 国产一区有黄有色的免费视频 | 国产麻豆成人av免费视频| 色综合站精品国产| 村上凉子中文字幕在线| 一级爰片在线观看| 欧美xxxx黑人xx丫x性爽| 亚洲欧美精品专区久久| av在线老鸭窝| 久久久久久大精品| 亚洲成人av在线免费| 国产大屁股一区二区在线视频| 特大巨黑吊av在线直播| 三级毛片av免费| 中文乱码字字幕精品一区二区三区 | 午夜福利成人在线免费观看| 国产精品伦人一区二区| 中文字幕亚洲精品专区| 18禁动态无遮挡网站| 国产精品嫩草影院av在线观看| 亚洲中文字幕一区二区三区有码在线看| 中国美白少妇内射xxxbb| 国产欧美日韩精品一区二区| 又黄又爽又刺激的免费视频.| 尤物成人国产欧美一区二区三区| 午夜福利成人在线免费观看| 国产成人a∨麻豆精品| 国产黄色小视频在线观看| 性插视频无遮挡在线免费观看| 禁无遮挡网站| 中文字幕精品亚洲无线码一区| 99久国产av精品| 99热全是精品| 女人被狂操c到高潮| 国产91av在线免费观看| 国产v大片淫在线免费观看| 能在线免费观看的黄片| 久久人人爽人人片av| 97热精品久久久久久| 亚洲av熟女| 久久精品夜色国产| 欧美成人精品欧美一级黄| 亚洲第一区二区三区不卡| 精品久久久久久电影网 | 精品久久久久久电影网 | 乱系列少妇在线播放| 99久久精品国产国产毛片| 国产真实乱freesex| 久久久国产成人精品二区| 国产在线一区二区三区精 | 亚洲一区高清亚洲精品| 免费黄色在线免费观看| 亚洲欧美一区二区三区国产| 国产真实乱freesex| 在线免费十八禁| 在线免费十八禁| 亚洲欧美日韩高清专用| 国产精华一区二区三区| 欧美zozozo另类| 一二三四中文在线观看免费高清| 一夜夜www| or卡值多少钱| 亚洲国产精品成人综合色| 色播亚洲综合网| 亚洲国产欧美人成| 99在线人妻在线中文字幕| 欧美性猛交黑人性爽| 亚洲五月天丁香| 久久人人爽人人片av| 国产av一区在线观看免费| 欧美日本视频| 欧美不卡视频在线免费观看| 精品不卡国产一区二区三区| 午夜日本视频在线| 3wmmmm亚洲av在线观看| 亚州av有码| 少妇裸体淫交视频免费看高清| 国产亚洲av嫩草精品影院| 免费看av在线观看网站| 亚洲美女搞黄在线观看| 国产精品伦人一区二区| 国产av一区在线观看免费| 亚洲性久久影院| 国产成人一区二区在线| 亚洲欧美日韩东京热| 亚洲中文字幕一区二区三区有码在线看| 成年女人看的毛片在线观看| 国产乱人视频| 免费播放大片免费观看视频在线观看 | 秋霞伦理黄片| 尾随美女入室| 亚洲成人av在线免费| 人妻夜夜爽99麻豆av| 久久亚洲精品不卡| 深夜a级毛片| 国产精品无大码| 26uuu在线亚洲综合色| 免费播放大片免费观看视频在线观看 | 欧美日韩综合久久久久久| 国产精品一区二区在线观看99 | 三级毛片av免费| 免费看av在线观看网站| 欧美极品一区二区三区四区| 久久久久久久久久久丰满| 国产在视频线在精品| 日韩欧美国产在线观看| 夜夜爽夜夜爽视频| 联通29元200g的流量卡| 成人一区二区视频在线观看| 波多野结衣巨乳人妻| 亚洲性久久影院| 少妇高潮的动态图| 欧美日韩综合久久久久久| 日韩一本色道免费dvd| 乱码一卡2卡4卡精品| 亚洲人成网站在线播| 赤兔流量卡办理| 少妇熟女aⅴ在线视频| 中国美白少妇内射xxxbb| 岛国毛片在线播放| 精品国产露脸久久av麻豆 | 亚洲最大成人手机在线| 亚洲成人久久爱视频| 国产v大片淫在线免费观看| 观看免费一级毛片| 日韩在线高清观看一区二区三区| 日韩,欧美,国产一区二区三区 | 天天躁日日操中文字幕| 亚洲人与动物交配视频| 国产亚洲一区二区精品| 免费观看精品视频网站| 欧美最新免费一区二区三区| 精华霜和精华液先用哪个| 九九热线精品视视频播放| 深爱激情五月婷婷| 国国产精品蜜臀av免费| 亚洲欧美日韩卡通动漫| 久久99热6这里只有精品| 乱系列少妇在线播放| 欧美成人午夜免费资源| 高清视频免费观看一区二区 | 免费黄色在线免费观看| 高清在线视频一区二区三区 | 中文资源天堂在线| 国产精品一区二区三区四区免费观看| 精品不卡国产一区二区三区| 国产高潮美女av| 男女下面进入的视频免费午夜| 免费看美女性在线毛片视频| 99久久无色码亚洲精品果冻| 99热全是精品| 天堂网av新在线| 最近中文字幕2019免费版| 欧美日韩精品成人综合77777| 美女xxoo啪啪120秒动态图| 校园人妻丝袜中文字幕| 日韩高清综合在线| 午夜激情欧美在线| 久久久久久久久久久丰满| 中文字幕av在线有码专区| 九九在线视频观看精品| 欧美激情久久久久久爽电影| 亚洲中文字幕日韩| 亚洲成人精品中文字幕电影| 爱豆传媒免费全集在线观看| 少妇裸体淫交视频免费看高清| 在线免费十八禁| 久久久国产成人精品二区| 精品久久久噜噜| 国产精品久久久久久久电影| 久久这里只有精品中国| 女人十人毛片免费观看3o分钟| 啦啦啦啦在线视频资源| av在线老鸭窝| 亚洲av二区三区四区| 欧美日韩在线观看h| 一级二级三级毛片免费看| 最近2019中文字幕mv第一页| 赤兔流量卡办理| 欧美精品一区二区大全| 亚洲成人中文字幕在线播放| 日韩强制内射视频| 国产精品美女特级片免费视频播放器| 青春草视频在线免费观看| 国产精品乱码一区二三区的特点| 男人舔奶头视频| 国产国拍精品亚洲av在线观看| 日韩成人av中文字幕在线观看| АⅤ资源中文在线天堂| 国产亚洲最大av| 99九九线精品视频在线观看视频| 亚洲精品乱久久久久久| 亚洲18禁久久av| 男女国产视频网站| 亚洲精品影视一区二区三区av| 成人无遮挡网站| 午夜免费激情av| 青春草国产在线视频| 干丝袜人妻中文字幕| 成人性生交大片免费视频hd| 春色校园在线视频观看| 欧美成人a在线观看| 日本爱情动作片www.在线观看| 一级毛片电影观看 | 国产三级中文精品| 国产精品一区二区性色av| 全区人妻精品视频| 久久久久久久久久久免费av| av天堂中文字幕网| 精品少妇黑人巨大在线播放 | 国产三级中文精品| 长腿黑丝高跟| 精品一区二区三区视频在线| 久久久精品大字幕| 在线a可以看的网站| 国产精品无大码| 少妇丰满av| 日韩强制内射视频| 国产精品久久久久久精品电影小说 | 国产一区二区在线观看日韩| 一级二级三级毛片免费看| 国产人妻一区二区三区在| 99久久精品国产国产毛片| 韩国高清视频一区二区三区| 尾随美女入室| 日本与韩国留学比较| 国产精品爽爽va在线观看网站| 麻豆成人午夜福利视频| 国产免费又黄又爽又色| 大话2 男鬼变身卡| 99久久精品热视频| 男女视频在线观看网站免费| 成年av动漫网址| 黄色配什么色好看| 亚洲自拍偷在线| 日韩成人av中文字幕在线观看| 中文字幕制服av| 看免费成人av毛片| 蜜臀久久99精品久久宅男| 国产精品精品国产色婷婷| 超碰97精品在线观看| 欧美日本视频| 婷婷色麻豆天堂久久 | 国产一级毛片在线| 日韩在线高清观看一区二区三区| av在线观看视频网站免费| 狂野欧美激情性xxxx在线观看| 久久人人爽人人片av| 国产伦理片在线播放av一区| 日本午夜av视频| av视频在线观看入口| 三级国产精品片| 国产又色又爽无遮挡免| 日本免费一区二区三区高清不卡| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲自偷自拍三级| 2021少妇久久久久久久久久久| 最近最新中文字幕大全电影3| 精品熟女少妇av免费看| 少妇的逼好多水| 乱系列少妇在线播放| a级一级毛片免费在线观看| 成人毛片a级毛片在线播放| 在线免费观看的www视频| 久久久久网色| 91精品一卡2卡3卡4卡| 日本色播在线视频| av国产久精品久网站免费入址| 国产精品麻豆人妻色哟哟久久 | 亚洲国产精品国产精品| 国产成人午夜福利电影在线观看| 亚洲中文字幕日韩| 长腿黑丝高跟| 最近的中文字幕免费完整| 大又大粗又爽又黄少妇毛片口| 日本免费在线观看一区| 国产av不卡久久| 成年免费大片在线观看| 麻豆成人av视频| 村上凉子中文字幕在线| 国产高清有码在线观看视频| 亚洲图色成人| 永久网站在线| 久久人人爽人人爽人人片va| 乱系列少妇在线播放| 午夜免费男女啪啪视频观看| 在线观看一区二区三区| 欧美xxxx黑人xx丫x性爽| 国产综合懂色| 久久精品91蜜桃| 国产成人精品婷婷| 成人av在线播放网站| 精品国内亚洲2022精品成人| 1000部很黄的大片| 一个人观看的视频www高清免费观看| 99热精品在线国产| 欧美bdsm另类| 在线免费十八禁| 晚上一个人看的免费电影| 欧美日韩国产亚洲二区| 久久国产乱子免费精品| 少妇猛男粗大的猛烈进出视频 | 乱系列少妇在线播放| 国产在线男女| 欧美日韩在线观看h| 免费搜索国产男女视频| 国产大屁股一区二区在线视频| 男女边吃奶边做爰视频| 色哟哟·www| 女人被狂操c到高潮| 大香蕉久久网| 美女国产视频在线观看| 老司机影院成人| 欧美高清成人免费视频www| 免费观看a级毛片全部| 一区二区三区乱码不卡18| 国产欧美日韩精品一区二区| 国产真实伦视频高清在线观看| 亚洲五月天丁香| 美女被艹到高潮喷水动态| 国产精品福利在线免费观看| 一区二区三区免费毛片| 精品国内亚洲2022精品成人| 2021天堂中文幕一二区在线观| 国产精品熟女久久久久浪| 岛国在线免费视频观看| 国产在视频线在精品| 国产精品野战在线观看| 中文欧美无线码| 最近2019中文字幕mv第一页| 少妇熟女aⅴ在线视频| 国产成人精品久久久久久| 国产av不卡久久| 99久久成人亚洲精品观看| 高清视频免费观看一区二区 | 国产黄色视频一区二区在线观看 | 亚洲自拍偷在线| 能在线免费看毛片的网站| 亚洲国产精品国产精品| 欧美精品一区二区大全| 亚洲av福利一区| 蜜桃亚洲精品一区二区三区| 精品不卡国产一区二区三区| 日韩欧美三级三区| 国产黄色视频一区二区在线观看 | 亚洲精品日韩av片在线观看| 一个人免费在线观看电影| 别揉我奶头 嗯啊视频| 亚洲精品久久久久久婷婷小说 | 欧美3d第一页| 国产免费一级a男人的天堂| 精品少妇黑人巨大在线播放 | 亚洲欧美日韩高清专用| 麻豆成人av视频| 丰满人妻一区二区三区视频av| 非洲黑人性xxxx精品又粗又长| 国产白丝娇喘喷水9色精品| 99在线人妻在线中文字幕| 国产精品伦人一区二区| av.在线天堂| 深爱激情五月婷婷| 真实男女啪啪啪动态图| 2021天堂中文幕一二区在线观| 国产精品久久视频播放| 麻豆一二三区av精品| 精品国产三级普通话版| 国产精品一区www在线观看| 亚洲成色77777| 18禁在线播放成人免费| 国产色婷婷99| 久久这里只有精品中国| 人妻系列 视频| 边亲边吃奶的免费视频| 成人午夜高清在线视频| 麻豆精品久久久久久蜜桃| 欧美最新免费一区二区三区| 欧美一区二区亚洲| 黄色欧美视频在线观看| 亚洲av成人精品一二三区| 日本黄色片子视频| 纵有疾风起免费观看全集完整版 | 我的老师免费观看完整版| 久久6这里有精品| 国产高清三级在线| 五月伊人婷婷丁香| 久久精品夜色国产| 黄色日韩在线| 日本免费a在线| 国产成人午夜福利电影在线观看| 成人国产麻豆网| 丰满少妇做爰视频| 国产伦在线观看视频一区| 少妇的逼好多水| 国产色爽女视频免费观看| 免费看a级黄色片| 午夜福利视频1000在线观看| 欧美日韩国产亚洲二区| АⅤ资源中文在线天堂| 亚洲天堂国产精品一区在线| 国产精品福利在线免费观看| 亚洲国产最新在线播放| 精品久久久久久久人妻蜜臀av| 免费不卡的大黄色大毛片视频在线观看 | 欧美三级亚洲精品| 国产精品爽爽va在线观看网站| 欧美一级a爱片免费观看看| 婷婷色综合大香蕉| 水蜜桃什么品种好| 熟女电影av网| 亚洲va在线va天堂va国产| 夫妻性生交免费视频一级片| 日日摸夜夜添夜夜爱| 一个人看的www免费观看视频| 狠狠狠狠99中文字幕| 中文字幕av在线有码专区| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲欧美精品综合久久99| 亚洲中文字幕日韩| av卡一久久| 熟妇人妻久久中文字幕3abv| 国产精品爽爽va在线观看网站| 成人综合一区亚洲| 亚洲一级一片aⅴ在线观看| 亚洲精品一区蜜桃| 亚洲av成人精品一二三区| 女的被弄到高潮叫床怎么办| 午夜福利在线在线| 国产精品一区二区三区四区免费观看| 麻豆国产97在线/欧美| 亚洲av成人精品一区久久| av免费在线看不卡| 99久久成人亚洲精品观看| 久久亚洲精品不卡| 亚洲国产成人一精品久久久| 欧美日韩在线观看h| 在线免费观看不下载黄p国产| 国产爱豆传媒在线观看| 久久久久网色| 免费观看在线日韩| 午夜福利视频1000在线观看| 熟女电影av网| 国内精品宾馆在线| 亚洲欧美精品自产自拍| 国产亚洲av嫩草精品影院| 亚洲电影在线观看av| 男插女下体视频免费在线播放| 亚洲成人av在线免费| 一区二区三区免费毛片| 日韩国内少妇激情av| 一个人免费在线观看电影| 亚洲,欧美,日韩| 在线观看美女被高潮喷水网站| 在线播放无遮挡| 免费看美女性在线毛片视频| 亚洲欧美成人精品一区二区| 国产亚洲午夜精品一区二区久久 | 久久韩国三级中文字幕| 人妻制服诱惑在线中文字幕| 一级二级三级毛片免费看| 亚洲无线观看免费| 国产精品爽爽va在线观看网站| 欧美潮喷喷水| 99在线人妻在线中文字幕| 夜夜爽夜夜爽视频| 男女边吃奶边做爰视频| 一级毛片aaaaaa免费看小| 亚洲国产欧洲综合997久久,| 黄色欧美视频在线观看| 国产一区二区在线av高清观看| 成人欧美大片| 成人特级av手机在线观看| 亚洲av中文字字幕乱码综合|