Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16
Príspevok NapísalOffline : 22.08.2009 10:53

Zdravím, ide asi o toto: Mám cca 15 miliónov vstupných vzoriek uložených v RAM sú to floaty - premenná X. Výstupné vzorky sú v premennej Y. Je to popis FIR filtra v časovej oblasti, klasická diferenčná rovnica. Premenná H, to sú koeficienty tej diferenčnej rovnice a teda filtra. Jednoduchý kód, ktorý som použil pre jadro výpočtu je asi takýto:

for(int k=t;k<n;k++) //n je pocet vzoriek, cca 15 milionov
{
for(int j=0;j<t;j++) // t je 2816
{
Y[k]+=X[k-j]*H[j];
}
}

Čo by sa dalo urobiť, aby to šlo rýchlejšie? Hore uvedený kód je čosi cez 40 milárd MAD inštrukcií pre daný počet vzoriek. Pamäte mám DDR2 800 a CPU ATHLON 64 X2 2,7 GHz AM2. Keďže sú to floaty, je využitých len 32bitov?Myslím, že niektoré SSE inštrukcie by využili 4 floaty a tak sa vlastne využije 128bitov. Neviem. Je to akýsi reference program oproti CUDA aplikácii. Vďaka za každý podnet.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 25.11.08
Prihlásený: 24.01.10
Príspevky: 25
Témy: 1
Príspevok NapísalOffline : 24.08.2009 1:21

cau. zaujimavy vypocet.
aby ti to pocitalo rychlejsie, si si sam dal odpoved, cize ja len tie podnety

moje podnety: mas viac moznosti ako to urychlit (podla mna!).
1. ist k niekomu kto ma vykony pocitac s vykonnou grafikou
2. pouzit cuda soft ako si uz spomenul, ak mas grafiku od nvidie ktora to podporuje, nezaujimal som sa o to nikdy, ale cital som o tom uz viac krat, asi trepnem z brucha, ale zda sa mi ze 8800-ka s jadrom G80 ma vypoctovy vykon 10! nasobne vacsi ako nadpriemerny procesor. je kopec navodov ako dat cuda napriklad aj do VS.
3. spomenul si ram pamat. ak chces aby to spotrebovalo menej, jednoducho si sprav aby ti to napriklad po 10 000 vysledkov ulozilo na disk a dalej pokracovalo. windows si pokial viem (mozno sa mylim) sam rozdeluje procesy a prideluje ich jadram procesoru. dalo by sa spravit, aby ti jedno vlakno pocitalo s tym ze bude vyuzivat prve jadro procesora, a druhe vlakno s nejakym oneskorenim (napr. desat vypoctov) by ukladalo na disk, plus mazalo co uz ulozilo. tuto "Science fiction" teoriu mozno automaticky prideluje win, ale nemam znalosti ako to prinutit robit natvrdo.
4. ist za herrym potterom, on ma carovny prutik, na tuto metodu by som ale spoliehal najmenej. ;)

neviem ci som ti vobec trosicku pomohol, ale chcel si aj podnety.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 29.08.06
Prihlásený: 18.12.15
Príspevky: 32
Témy: 16
Príspevok Napísal autor témyOffline : 24.08.2009 9:30

Diky za odpoved, ide o to, ze ja som uz CUDA pouzil. Mam dve 9800 GTX+. Kupil som ich ako investiciu do CUDA, kedze som sa tomu chcel venovat. Zo vsetkych doterajsich GPU mali tie unifikovane shadery najvyssi takt - 1836 MHz. A oproti inym grafikam bol pomer cena ku vykon velmi dobry. Dalo mi to dost roboty, kym som z toho vytrieskal 260 krat vyssi vypoctovy vykon oproti spominanej aplikacii. Navyse sa do toho rata aj cas kopirovania dat z videopamati do RAM! Cela aplikacia je tak urobena, ze najprv vsetky data natiahne do RAM a potom sa uz z HDD nic necita. Kedze mam viac paralelnych vstupov - kanalov - az 20, ktore na sebe nie su zavisle, urobil som primitivny multitasking. Som vytvoril 2 .exe subory, no kazdy pracoval nad inymi datami. Potom som ich spustil oba naraz, manualne. A otvorim task manager a obe CPU jadra na 100%. To bolo maximalne vyuzitie CPU. To iste som urobil pre GPU - 2 skompilovane execka, obe s rozdielnymi vstupnymi datami a urcene pre rozdielne GPU, co CUDA podporuje. Spustil som ich naraz a linearny narast vykonu, to ma potesilo. To co jedno CPU jadro pocitalo vyse 1,5 hod pre 300 milionov vstupnych vzoriek som mal na dvoch 9800 gtx+ za 8 sekund. V mojej apikacii vnasa vacsiu chybu do vysledku povaha filtra, nez nepresnost s typom float, ta vysla na cca 1e-6. Navyse G200 maju uz aj double precision, aj ked mensi pocet. Takze ja som chcel vylepsit uz len tu CPU aplikaciu.


Odpovedať na tému [ Príspevkov: 3 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. program na kvadraticku rovnicu

v Assembler, C, C++, Pascal, Java

2

554

09.05.2011 9:54

petos Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Ako vyriesit rovnicu

v Assembler, C, C++, Pascal, Java

0

459

15.04.2018 11:19

Navi12 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program pre strihanie a uprava videa pre zaciatocnika

v Video programy

10

3023

04.01.2024 16:10

mtr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Grafika pre program

v Assembler, C, C++, Pascal, Java

3

486

07.04.2011 20:15

hradecek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PostgreSQL pre program

v Databázy

2

573

27.11.2011 11:02

borisko27 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program pre HP

v Ostatné programy

0

464

20.05.2011 22:11

Krtko1992 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program pre Lan

v Sieťové a internetové programy

4

516

05.03.2012 16:58

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program pre projektantov

v Grafické programy

0

622

22.07.2012 23:45

alkex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program pre zaciatky

v HTML, XHTML, XML, CSS

15

743

04.02.2014 15:37

mango Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program pre webkameru

v Ostatné programy

0

3027

26.01.2009 21:22

dsljohn Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Animačný program pre videoprojekciu

v Video programy

0

866

16.12.2009 18:41

quatermain Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Aky program pre kameru?

v Video programy

1

984

12.04.2008 21:14

Mandy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Napalovaci program pre Ubuntu

v Operačné systémy Unix a Linux

19

2783

17.12.2006 0:46

johny128 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Program pre internetovu kaviaren

v Sieťové a internetové programy

2

431

08.07.2011 23:02

matolog Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program pre tvorbu banera

v Webdesign

10

4061

28.08.2007 13:20

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. program pre zosilenie basov

v Audio programy

4

687

18.06.2010 21:16

kuupkoo563 Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra