MATLAB R2007a a paralelní výpočty
Jan Houska
Houska at humusoft.cz
Thu Mar 15 10:19:46 CET 2007
Dobrý den,
v nové verzi MATLABu R2007a, která byla nedávno uvolněna, je jednou z
nových vlastností možnost urychlení výpočtu jeho paralelizací na
počítačích s více výpočetními jádry. Vzhledem k tomu, že podobné počítače
jsou stále dostupnější, urychlení výpočtu je poměrně výrazné, a použití
této vlastnosti poměrně snadné, doufám, že informace o této vlastnosti
budou užitečné.
Veškeré testy byly prováděny na čtyřjádrové pracovní stanici Humusoft
HeavyHorse <http://www.humusoft.cz/heavyhorse/indexcz.htm>, ale lze
očekávat, že výsledky na jiných počítačích budou podobné úměrně počtu
výpočetních jader.
Paralelizace algoritmů je v MATLABu R2007a implementována na dvou
úrovních. První z nich jsou nově dodávané základní matematické knihovny s
podporou více jader. K využití této vlastnosti stačí pouze základní
MATLAB, žádný dodatečný toolbox není potřeba. Není ani nutné nijak
upravovat existující programy, zrychlení se projeví automaticky.
Podpora více jader v základních matematických knihovnách je po
nainstalování nové verze MATLABu vypnuta. Je třeba ji nejprve zapnout v
menu File->Preferences, položce General->Multithreading. Je vhodné zvolit
automatickou volbu počtu vláken. Po zvolení příslušného nastavení není
potřeba restartovat MATLAB. Zvýšení výkonu je možné ihned otestovat
pomocí demostračního souboru "multithreadedcomputations", který zobrazí
relativní zvýšení výkonu pro jednotlivé elementární maticové operace.
Bohužel soubor "multithreadedcomputations" byl navržen pouze pro počítače
s dvěma výpočetními jádry. Máte-li stroj s více jádry, je možné použít
mírně upravenou verzi tohoto souboru, který je v příloze. S jeho pomocí
jsem naměřil 3.5 až 4-násobné zrychlení pro operace prováděné po prvcích
(násobení, sinus, odmocnina), a asi dvojnásobné pro operace na celé
matici (LU faktorizace, QR dekompozice).
Pro operační systém Linux a procesory AMD je k využití paralelních
matematických knihoven ještě nutné pozměnit soubor "blas.spec" v adresáři
matlab/bin/glnx86 nebo matlab/bin/glnxa64 a restartovat MATLAB. Příklad
pozměněného souboru je také v příloze. Pro operační systém Windows toto
není potřeba a není vhodné do souboru "blas.spec" zasahovat.
Druhou úrovní implementace paralelních algoritmů je Distributed Computing
Toolbox (DCT). Ten v nové verzi umožňuje běh až čtyř paralelních procesů
na jednom počítači (nikoliv v síti počítačů) bez nutnosti licence MATLAB
Distributed Computing Engine (MDCE). To výrazně zjednodušuje a instalaci,
protože DCT se instaluje jako každý jiný toolbox a nepotřebuje další
nastavení - nemluvě o úspoře peněz za licenci MDCE. Po instalaci DCT
stačí pouze přejít do paralelního režimu příkazem "pmode start" a je
možné začít vyvíjet paralelní algoritmy. Ty jsou potom beze změny
přenosné do prostředí MDCE, kdyby výpočetní výkon čtyř jader nestačil.
Nové okno "Parallel Command Window" umožňuje snadno sledovat průběh
výpočtu všech čtyř paralelních procesů zároveň.
Doufám, že výše uvedené informace pomůžou k tomu, abyste z nového MATLABu
vhodným nastavením dostali co největší výpočetní výkon.
Zdraví
Jan Houška
--
Jan Houska HUMUSOFT s.r.o.
houska at humusoft.com Pobrezni 20
http://www.humusoft.com 186 00 Praha 8
tel: ++ 420 284 011 730 Czech Republic
fax: ++ 420 284 011 740
-------------- next part --------------
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any other MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: blas.spec
Date: 15 Mar 2007, 9:31
Size: 205 bytes.
Type: Text
-------------- next part --------------
A non-text attachment was scrubbed...
Name: blas.spec
Type: application/octet-stream
Size: 204 bytes
Desc: not available
Url : http://listserv.vscht.cz/pipermail/csmug/attachments/20070315/09a1640e/blas.obj
-------------- next part --------------
The following section of this message contains a file attachment
prepared for transmission using the Internet MIME message format.
If you are using Pegasus Mail, or any other MIME-compliant system,
you should be able to save it or view it from within your mailer.
If you cannot, please ask your system administrator for assistance.
---- File information -----------
File: multithreadedcomputations.m
Date: 15 Mar 2007, 9:32
Size: 5247 bytes.
Type: Text
-------------- next part --------------
A non-text attachment was scrubbed...
Name: multithreadedcomputations.m
Type: application/octet-stream
Size: 5247 bytes
Desc: not available
Url : http://listserv.vscht.cz/pipermail/csmug/attachments/20070315/09a1640e/multithreadedcomputations.obj
More information about the CsMUG
mailing list