Sunday, October 9, 2016

Эрдмийн ажлын зураг, графикийг нээлттэй эх үүсвэр ашиглаж боловсруулах /Scientific art work by open sources/

Эрдмийн ажлын зургийн ажлыг нээлттэй програм ашиглан гүйцэтгэх
Нюфлот (Gnuplot) ба Имижмажик (Imagemagick)

"Гурвадугаар хэсэг"
Шинжлэх ухаан, инженерчлэлийн тайлан, төсөл, өгүүллэгийн зураг, графикийг өндөр чанартай сайн боловсруулах ёстой гээд л өмнөх хоёр цуврал дээр бичсэн учир дахин давтаад яахав. График зураг боловсруулах эхний, дэд өгүүллэгүүдийг уншаарай.
Гэхдээ бас хэдэн зүйл нэммээр санагдлаа. Аливаа зүйл хүний нүдэнд маш аятайхан харагдаж байвал харж уншиж буй хүндээ илүү их мэдээллийг өгөх болно. Тиймээс шинжлэх ухааны графикч бай түүнийг урлаг, уран зураг мэт харж харьцаж ажиллах хэрэгтэй. Мэдрэмж их чухал шүү. Харагдац муутай зураглал уг ажлын мөн чанар, чансааг бууруулдаг, ажиллаж буй хүмүүсийг чадваргүй мэт харагдуулдаг тал бий. Нөгөө хүнийг царайгаар нь угтаж, ухаанаар нь үднэ гэдэг шиг л..
За энэ өгүүллээр баганан график байгуулах, зургуудыг хооронд нь нийлүүлэх гэх мэт ажлыг яаж хийх тухай авч үзнэ. Графикийг бол нюфлот бол ямар л бол ямар л хэлбэр, загвараар үйлдвэрлэж гаргах боломжтой бол Имижмажик бол зургийг болон зургуудыг яаж л бол яаж л янзалж чадах хоёулаа нээлттэй, үнэгүй, коммандын мөрөөр ажилладаг програм хангамж юм. Нээлттэй үүсвэрийн нэг дутагдал нь хэрэглэгчийн санал хүсэлтийг тусгаж шинэ хувилбар гарах гэж уддаг. Түүнээс бол ямар нэгэн зохиогчийн эрхийн асуудал зөрчигдөхгүй, чадвар өндөртэй програмууд юм.
1. Хоёр зүйлийг харьцуулсан баганан график байгуулах
Хоёр зүйлийг хэд хэдэн тохиолдолд харьцуулж харуулах шаарлага гарна. Энэ тохиолдолд жишээ болгож цуваа ба зэрэгцээ кодоор өөр өөр хөрвүүлэгч дээр тооцоо хийж харцуулсаныг харуулая. График байгуулах нюфлот код нь:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
reset
set term postscript color enhanced font "Times-New-Roman, 30"
set output "Compare.esp"

set xtics ("PGI Fortran" 0.25, "Intel Fortran" 1.75, "CUDA Fortran" 3.25,)

set boxwidth 0.5
set style fill solid
set ylabel "Elapsed time (ms)"
set xlabel "Compilers"

set label 1 "1058.39" at -0.2,1100 font ",20"
set label 2 "461.52" at 0.3,500 font ",20"

set label 3 "301.61" at 1.3,350 font ",20"
set label 4 "93.75" at 1.8,140 font ",20"

set label 5 "80.45" at 2.8,120 font ",20"
set label 6 "15.74" at 3.3,80 font ",20"

plot 'data.dat' every 2    using 1:2 with boxes ls 1 lc rgb 'red' title "Entropic (KBC)",\
     'data.dat' every 2::1 using 1:2 with boxes ls 2 lc rgb 'blue' title "Standard (BGK)"

set term win
unset output
Энд ашиглаж байгаа мэдээ нь:

Saturday, October 8, 2016

Тооцонгийн үр дүнд суурилж морь унах нь (The riding horse based on scientific computation)

Шингэний динамикийн тооцоонд үндэслэж морь унавал...

Магистраа төгссөнөөс хойш мөрөөдөж байсан, маш удсан, оролдлого хийж чададгүй байсан нэг мөрөөдөл, хүсэл бол өндөр бүтээмжтэй тооцоололыг (high performance computing) супер компьютер эсвэл параллель тооцоолол хийх боломжтой багцан (super computer or GPGPU cluster) дээр хийх явдал байсан юм. Тооцон бодох тооцооны аргуудыг мэдэхгүй, код бичиж чадахгүй, ямар ч програмчлалын хэл эзэмшээгүй байж юун өндөр бүтээмжит тооцоолол хийх гэдэг нь ойлгомжтой. Тэгээд ч суурин компьютер, эсвэл зөөврийн компьютерээс өөр зүйл бидэнд /Монголд/ олдох биш. Интернэтээр ингэж супер компьютер ашиглаж ийм тооцоолол үйлдэж ийм үр дүн гаргалаа гэх мэт өгүүлэл, бичлэгийг харж гайхан бишэрч мөрөөдлөө бүр л биелүүлмээр санагддаг байж билээ. Докторт сурахаар /2014 оны 9 сар/ Нагаокагийн Технологийн их сургуульд ирэхдээ тооцон бодох хэдэн арга эзэмших, код бичиж сурах, бүх боломжит бодлогонуудыг бодож чаддаг болох гэх мэт л үндсэн чухал зорилтууд өвөртлөж байсан юм. Тэгтэл бараг жилийн дараа /2015 оны 6 сар/ сургуулийн зарын самбар дээрээс GPGPU сургалтын тухай Япон зар байхыг олж харсан юм. Ингэхэд л энэ сургуульд GPGPU байдаг юм байна гэж мэдэж билээ. Тэгээд ч энэ сургалтын боломжийг ашиглаж чадаагүй, хийх ажил ихтэй байсан учир сонирхолгүй орхисон. Гэхдээ л ашиглаж үзэх хүсэл байгаад л байлаа. Ядаж барааг нь нэг удаа харах юмсан гэж бодож байсан юм. 
Үүний дараа 2016 оны 1 сард ЛБА-аар GPGPU дээр хэрхэн тооцоолол хийх тухай семинар болно гэдгийг удирдагч багш маань дуулгаж за энэ боломжийг л ашиглаж GPU тэй танилцая гээд танилцсан юм. Хэрхэн танилцсан тухайгаа нийтлэл болгож бичсэн байгааг зарим нэг нь болгоосон байхаа. Нийтлэлийг эндээс
Хэдий танилцаад авсан ч шууд GPU -рүү орох боломж байгаагүй тул хэрэгтэй гэсэн болгоноо нийтлэл дээрээ бичээд 2016 оны 7 эсвэл 8 сараас нэг ашиглаж үзнэ гээд төлөвлөгөөндөө орууллаа. Төлөвлөгөө жаахан сунжирч одоо /2016 оны 10 сар/ л нэг оролдож байна даа. 
Өөр нэг мөрөөдөл болох Монгол уламжлалтай холбоотой зүйлсийн шингэний динамикийн тооцоог хийж судалж үзэх юмсан гэсэн хүсэл бас л их удаж байна. Үүний нэг нь Монгол морины аэродинамикийн тооцоолол юм. Хүлэг морь бол Монгол түмний шүтээн, хамгийн хурдан унаа учир морио л тооцож үзмээр санагдаад тэгээд тооцсон хэрэг. Энэ нийтлэлд энэ тухай авч үзнэ. 
Давхиж буй морины аэродинамикийн загвар Рэйнольдсын тоо 3000.