秦 陽
(晉能控股煤業(yè)集團(tuán)虎龍溝煤業(yè)公司地測科,山西 朔州 038300)
虎龍溝礦位于大同市西南處,井田南北向?qū)挾燃s2.07 km,東西向長度約6.0 km,井田可采5、8、9號煤層,其中5號和8號煤層是穩(wěn)定煤層,9號煤層是極不穩(wěn)定煤層,煤層傾角為1°~8°,最低可開采厚度為0.70 m,主要開采的煤層是氣煤,可選性較差,可用做動(dòng)力和氣化煤。
礦井地質(zhì)模型的構(gòu)建過程如圖1所示。
圖1 模型構(gòu)建過程
主要包括對礦山原始數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、空間數(shù)據(jù)、數(shù)據(jù)模型計(jì)算以及礦體體視化。其中,原始數(shù)據(jù)是包括井田鉆孔、地質(zhì)概況等數(shù)據(jù);數(shù)據(jù)預(yù)處理是對原始數(shù)據(jù)進(jìn)行分析、化簡以及規(guī)則化處理,過濾無效的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行統(tǒng)一處理,減小計(jì)算的規(guī)模;空間數(shù)據(jù)包括礦井的空間坐標(biāo)以及品味屬性,對模型進(jìn)行三維屬性界定;數(shù)據(jù)模型計(jì)算是通過插值算法得到的規(guī)則體模型;礦體體視化是根據(jù)插值結(jié)果將屬性反應(yīng)在礦體模型中。
三維泰森串行算法是根據(jù)模型的三維坐標(biāo),依次訪問模型的每個(gè)體素,參照泰森多邊形理論,即空間任意一點(diǎn)的品味屬性就是與它最近已知點(diǎn)的品味屬性,通過插值計(jì)算后得到規(guī)則的體素,串行算法的步驟如下,流程圖如圖2所示:
圖2 三維泰森串行算法流程
1)確定插值范圍,如果達(dá)不到礦體大小的要求,對原始的鉆孔數(shù)據(jù)按插值范圍進(jìn)行分塊,同時(shí)確定每塊數(shù)據(jù)的起始和終點(diǎn)坐標(biāo),執(zhí)行串行遍歷,每塊數(shù)據(jù)都進(jìn)行三重循環(huán),做到完全遍歷。
2)按照1×1×1的插值密度,對空間范圍內(nèi)所有的坐標(biāo)點(diǎn)和原始鉆孔數(shù)據(jù)的坐標(biāo)點(diǎn)都進(jìn)行遍歷,將空間點(diǎn)坐標(biāo)與已知點(diǎn)坐標(biāo)進(jìn)行比較計(jì)算,執(zhí)行串行遍歷。
3)對插值范圍內(nèi)的所有點(diǎn)與已知點(diǎn)根據(jù)歐拉公式計(jì)算出歐氏距離,根據(jù)計(jì)算的距離大小,求出最小值,在最小距離下,對待估算的點(diǎn)進(jìn)行賦值,在三重循環(huán)結(jié)束后,結(jié)束串行算法。
由于串行算法要進(jìn)行三重循環(huán),加大了數(shù)據(jù)的計(jì)算量,考慮到模型時(shí)單指令多數(shù)據(jù)流模型,利用G P U的體系結(jié)構(gòu),對三維泰森串行算法進(jìn)行優(yōu)化,采用并行算法,算法流程如圖3所示。
圖3 三維并行算法流程
利用G P U中多個(gè)AL U的性質(zhì),根據(jù)體素進(jìn)行并行計(jì)算,每個(gè)體素映射在三維計(jì)算單元內(nèi),通過單獨(dú)的子線程進(jìn)行品位計(jì)算,將重復(fù)遍歷的數(shù)據(jù)放置在Thread中,在Thread中重復(fù)遍歷的部分就是在串行算法中空間點(diǎn)坐標(biāo)與已知點(diǎn)坐標(biāo)進(jìn)行遍歷后,求出的最小距離,將這一部分程序放在Thread中,程序可以同時(shí)計(jì)算,互不影響,提高了遍歷速度,需要注意的是,對G P U要進(jìn)行三維索引,使空間坐標(biāo)點(diǎn)與G P U線程索引ID相互對應(yīng),在Thread執(zhí)行完所有程序后,并行算法結(jié)束。受某些硬件條件的限制,需要將模型進(jìn)行劃分,按照一定的規(guī)則和順序,對每塊進(jìn)行并行計(jì)算,直到所有的塊都計(jì)算為止,整個(gè)模型的品味屬性才完成計(jì)算。
為了驗(yàn)證優(yōu)化的并行算法的可行性,隨機(jī)選取不同規(guī)模的三維數(shù)據(jù),分別進(jìn)行串行和并行計(jì)算,實(shí)驗(yàn)結(jié)果見表1。
表1 三維泰森插值法串并行情況對比表
根據(jù)表1,在單機(jī)并行插值規(guī)模不斷增大時(shí),已知數(shù)據(jù)量不變,在插值規(guī)模為10×10×10時(shí),并行算法運(yùn)算時(shí)間為0.207 s,串行算法運(yùn)算時(shí)間為0.001 s,其加速比為0.005,在插值規(guī)模較小時(shí),G P U的加速效果不是太明顯,而隨著插值規(guī)模的增大,G P U的性能明顯提升??梢钥闯?,在插值規(guī)模為700×700×700時(shí),并行算法運(yùn)算時(shí)間為3.098 s,而串行算法運(yùn)算時(shí)間長達(dá)274.719 s,加速比為88.676。在單機(jī)并行插值規(guī)模不變時(shí),已知數(shù)據(jù)量增大,在插值規(guī)模均為700×700×700時(shí),已知數(shù)據(jù)量為100條時(shí),并行算法運(yùn)算時(shí)間為3.098 s,已知數(shù)據(jù)量為1000條時(shí),并行算法運(yùn)算時(shí)間為24.494 s,隨著數(shù)據(jù)量的增大,串行和并行的運(yùn)算時(shí)間也會相應(yīng)的增加,由于數(shù)據(jù)量的增加,導(dǎo)致要進(jìn)行距離比較的數(shù)據(jù)量相應(yīng)增加,進(jìn)而運(yùn)算時(shí)間也就不斷增加。
綜上所述,在插值規(guī)模較小時(shí),由于數(shù)據(jù)傳輸?shù)难舆t性,G P U并行算法的優(yōu)勢不太明顯,而隨著插值規(guī)模的不斷增大,G P U并行算法的運(yùn)算時(shí)間大大提高,模型的空間插值效率也得以提高,節(jié)省了模型構(gòu)建時(shí)間。
對虎龍溝礦建立煤質(zhì)礦體模型,進(jìn)而對煤炭資源儲量進(jìn)行精確估算,模型的插值規(guī)模為3 700×4 237×71,對每個(gè)空間點(diǎn)估算品味屬性,分別采用串行算法和優(yōu)化的并行算法進(jìn)行分析,構(gòu)造出礦體化模型,得到煤炭資源儲量的對比結(jié)果見表2。
表2 煤炭資源儲量對比結(jié)果
從表2可以看出,采用并行算法估算出的煤炭儲量為21 973萬t,運(yùn)算時(shí)間約2 401.193 s,而采用串行算法的運(yùn)算時(shí)間約141 471 s,估算出的煤炭儲量也與累計(jì)的煤炭儲量21 867萬t有一定的差距,因此,采用優(yōu)化的并行算法得到的估算結(jié)果更準(zhǔn)確,算法運(yùn)算時(shí)間也更快。
為估算煤炭資源儲量,傳統(tǒng)的三維泰森串行算法已不能滿足要求,以虎龍溝礦為基礎(chǔ),提出三維泰森并行優(yōu)化算法構(gòu)建體礦模型,結(jié)果如下:
1)通過不同規(guī)模的三維數(shù)據(jù),對串行算法和并行算法進(jìn)行對比分析,驗(yàn)證并行算法的可行性,得到利用G P U對插值規(guī)模較大的礦體模型進(jìn)行空間插值并行運(yùn)算可以提高運(yùn)算效率。
2)在虎龍溝礦上進(jìn)行驗(yàn)證,以原始鉆孔數(shù)據(jù)品味屬性作為已知數(shù)據(jù),采用插值并行算法,估算出煤炭資源儲量為21 973萬t,與實(shí)際儲量更貼近,算法運(yùn)算時(shí)間也較快,為準(zhǔn)確快速估算儲量提供了解決辦法。