MATLAB in dual CPU

O matematiki, številih, množicah in računih...
Odgovori
Marjan
Prispevkov: 320
Pridružen: 25.12.2002 17:01

MATLAB in dual CPU

Odgovor Napisal/-a Marjan »

V MATLABu delam z velikimi bazami (do 100.000 vrstic decimalnih števil), večinoma le osnovne in trigonometrične izračune. PC je Intel Pentium Dual Core CPU 2.4GHz, 2GB RAM. Problem je v tem, da izračun traja več minut, pocesor pa je medtem obremenjen le 50%. V MATLAB v.7.6.0 imam obkljukan "Enable multithreaded computation" pa očitno ne pomaga?

Je imel kdo podoben problem? Obstaja kakšen trik kako izkoristiti celotno procesorsko moč?

Hvala in LP.


*=X
Prispevkov: 69
Pridružen: 15.9.2006 18:48

Re: MATLAB in dual CPU

Odgovor Napisal/-a *=X »

Prvi problem je lahko že v samem operacijske sistemu oz. koliko dobro zna izkoristit večjedrne procesorje. Mogoče preizkusi MatLab ali kak klon (octave, scicos) v linux okolju. Sam imam občutek da je MatLab v Visti kr okoren v primerjavi z XP-ji. Druga stvar bi lahko bila struktura baze, pri večjih je bolje bazo razbit na več majnših, logičnih, dinamično povezanih delov. Pri veliki obremenitvi baze se pozna tudi hitrost diskov, mogoče preveri z raid poljem ali t.i. RAM diskom.

Uporabniški avatar
Aniviller
Prispevkov: 7263
Pridružen: 15.11.2004 18:16

Re: MATLAB in dual CPU

Odgovor Napisal/-a Aniviller »

Ce dela 50% potem je jasno, da racuna samo en procesor. To nima veliko veze z vindovsi, program mora pac narest najmanj 2 threada, da potem lahko teceta na dveh procesorjih. Program mora biti zato napisan tako, da uporablja vecnitnost. Paketi kot je matlab mogoce vecnitnost uporabijo tudi interno znotraj funkcij, nisem pa ziher ker ga ne uporabljam.

fox
Prispevkov: 91
Pridružen: 12.5.2008 1:45

Re: MATLAB in dual CPU

Odgovor Napisal/-a fox »

Napišite program legendre.m, ki izračuna ničle n-tega Legendrovega polinoma s kvazi Newtonovo metodo. Začetni približek izberite tako, da boste zagotovil konvergenco k najmanjši ničli polinoma.
Klic funkcije naj bo oblike [nicla, k] = legendre(n,x0,eps), kjer je n stopnja Legendrovega polinoma, x0 začetni približek, eps pa zahtevana natančnost. Funkcija naj vrne niclo in število korakov k, potrebnih za izračun ničle. Upoštevajte dejstvo, da vseh n ničel n-tega Legendrovega polinoma leži na intervalu (–11) in so vse enostavne
Mi lahko kdo malo pomaga pri tej nalogi
Hvala ze vnaprej

PS: se opravicujem ker to nije prava tema za mojega problema ,ampak nevem ali sploh obstaja kaksna tema za Matlab pa se tuki pisal

Odgovori