Help Topic Hardver/Szoftver

Started by Nakahara, 2002-11-13, 20:06:43

Previous topic - Next topic

kikuchiyo

Az jutott még eszembe, hogy előállítom a tömb eggyel, kettővel stb. elcsúsztatott változatait és ezeket összeadom.
Failure is the default option

Próféta

Sima számtani közép, ugye?

Az az egyik trükk, amit Kvikveg mond.

A másik: csináld inkrementálisan már ezeknél az előfeldolgozásoknál is. A z mentén összegezve az egyik ötös összegből úgy kapod a következőt, hogy hozzáadsz egy új elemet, és levonsz egy kiesőt. Utána y szerint összegezve mindig hozzáadsz egy 5-ös sor előre kiszámolt összegét, és levonod egyét. Aztán x szerint haladva meg előre kiszámolt yz lapokkal operálsz.

Az utsó ötlet: figyelj a cache-hatékonyságra, tehát lehetőleg azokat az adatokra legyen egyszerre szükség, amelyek egymáshoz közeli memóriacellákon vannak, mert a cache miss sokkal drágább a cache hit-nél. Ha tehát úgy van tárolva a tömböd, hogy A_xyz és A_xy{z+1} szomszédosak a memóriában, akkor a legbelső ciklus z szerint haladjon.

+1 ha esetleg nagyobb lenne a tömb, akkor egy idő után már megérné többszálúsítani az összegzést, n magos CPU-val majdnem n-szeres gyorsulás.

Quote from: kikuchiyo on 2012-01-04, 22:27:30
Az jutott még eszembe, hogy előállítom a tömb eggyel, kettővel stb. elcsúsztatott változatait és ezeket összeadom.
Ez mit gyorsítana? Vagy azt nem értem, amire gondolsz, vagy hogy miért jó. Esetleg arra gondolsz, hogy van valami hardveres vektorösszeg-támogatás?

Kvikveg

#14612
csuszoatlagolassal van
(5x5x5-1 osszeadas meg egy osztas )*(20-4)*(200-4)*(300-4)
124*16*196*296 osszeadas
115 103 744

Igy lenne
(5-1 osszeadas)*200*300*16+(5-1 osszeadas)*16*300+(5-1 osszeadas)*16*196+(16*196*296 osztas)
4*(200*300*16+196*300*16+196*296*16) osszeadas lenne
4*(960 000 + 940 800 + 928 256 )
4*2829056
11 316 224

Es azon gondolkodom, hogy ha mas iranybol csokkented eloszor, akkor jobb-e az eredmeny.

Jol latom?

edit: a memoriateruletes trukkot en is hallottam, es megerositest is anno, szoval ott a matlab belso rejtelmeit jo lenne ismerni.
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

kikuchiyo

Azt tudom, hogy egydimenziós mozgóátlagot úgy célszerű számolni, hogy hozzáadom az új elemet és levonom a leghátsót. De ebben a háromdimenziós esetben szerintem keveset hozna, illetve jelentősen bonyolítaná a dolgot.

Azt látom, hogy nem mindegy, milyen sorrendben vannak egymásba ágyazva a ciklusok, valószínűleg sikerült pont a rossz esetet eltalálni. Ezzel majd még próbálkozom (holnap, most Cowboy Bebopot nézek).

Quote from: Próféta on 2012-01-04, 22:30:22
Quote from: kikuchiyo on 2012-01-04, 22:27:30
Az jutott még eszembe, hogy előállítom a tömb eggyel, kettővel stb. elcsúsztatott változatait és ezeket összeadom.
Ez mit gyorsítana? Vagy azt nem értem, amire gondolsz, vagy hogy miért jó. Esetleg arra gondolsz, hogy van valami hardveres vektorösszeg-támogatás?

Most azt csinálom, hogy

for x = 1:xsize
  for y = 1:ysize
    for z = 1:zsize
     averaged = sum(sum(sum(original(x-xwindowsize:x+xwindowsize, y-ywindowsize:y+ywindowsize, z-zwindowsize:z+zwindowsize))));
    end
  end
end
averaged = averaged/((2*xwindowsize+1)*(2*ywindowsize+1)*(2*ywindowsize+1))

Ahol xsize és ysize 100-as nagyságrendű, gondolom, ezért tart ilyen sokáig.

Ehelyett gondoltam azt, hogy


for x = -xwindowsize:xwindowsize
  for y = -ywindowsize:ywindowsize
    for z = -zwindowsize:zwindowsize
      averaged = averaged + original(x,y,z-vel eltolt változat, még nem tudom, hogy lehet hatékonyan előállítani);
    end
  end
end
averaged = averaged/((2*xwindowsize+1)*(2*ywindowsize+1)*(2*ywindowsize+1))


A lényeg, hogy a ciklusmagban lévő tömb-összeadást a Matlab elvileg gyorsan tudja csinálni, de ha nem is olyan gyorsan, akkor is csak xwindowsize*ywindowsize*zwindowsize = mondjuk 125-ször kell elvégeznie, szemben az első változatban lévő xsize*ysize*zsize = 1200000-rel.
Failure is the default option

Kvikveg

#14614
Ha nem hasznalod a trukkomet, akkor velem ellentetben egy adott 5x1es rudat pl (ez a trukk elso lepese) te 5x5szor szamolsz ki en viszont csak egyszer. Raadasul en az elsohoz hasznalok csak 4 osszeadast, a tobbihez mar csak egy osszeadast egy kivonast, cserebe van 3 segedvaltozo-ertekadasom persze.
Legyszi majd probald ki, kivancsi vagyok. :)

ize=0
bigyo=0
bigyoseged=0
for x = 1:xwindowsize
  for y = 1:ywindowsize
    for z = 1:zwindowsize-4
      if z=1
          bigyo=A(x,y,z) //regi ertek
          A(x,y,z)=A(x,y,1)+A(x,y,2)+A(x,y,3)+A(x,y,4)+A(x,y,5)
          ize=A(x,y,z)    //eredmeny a kovetkezo lepeshez
      else
          bigyoseged=A(x,y,z)  //regi ertek
          A(x,y,z)=ize-bigyo+A(x,y,z+4)
          ize=A(x,y,z)
          bigyo=bigyoseged   //regi ertek tarolva
       endif
    end
  end
end

Aztan xre (z-4)(y)(x-4) limitekkel aztan yra (z-4)(y-4)(x-4) limitekkel

Aztan osztani 5x5x5-ttel az osszeset.


Foritsad matlabra, en nem tudok matlabul.
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

kikuchiyo

Moha??

De azért majd megnézem azt is, amit írtál.

[spoiler]A valódi probléma egyébként annyival bonyolultabb, hogy a tartomány határán adaptívan változtatni kell az átlagolási tartományt úgy, hogy a térfogata állandó maradjon. Ezt pedig nem nagyon tudom máshogy megcsinálni, mint egymásba ágyazott ciklusokkal.[/spoiler]
Failure is the default option

Kvikveg

#14616
Profeta.... mar kisse ki vagyok utve.
def adaptívan változtatni kell az átlagolási tartományt úgy, hogy a térfogata állandó maradjon ???
Ja esmindhaom ciklus legbelso valtozojanak az osszeomlasztando iranynak kell lennie, ami memoriateruleten nem biztos jo.

Esetleg ez kivalthato uj tomb letrehozasaval ami a kovetkezo irany szerint kedvezo sorrendben tarolja a dolgokat?
A szot atadom Profetanak. XD
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

Próféta

ninjászva voltam, de most már túl fáradt vagyok felfogni, hogy Kvikveg ugyanazt írta-e, mint én. Tippre igen.

Quote from: kikuchiyo on 2012-01-04, 23:05:26
De ebben a háromdimenziós esetben szerintem keveset hozna
Mármint sokkal többet, mint egydimenziós esetben :) Egy 5x5x5-ös kiskocka összegének kiszámolása 125 aritmetikai művelet helyett 2: egy lap hozzáadása, egy lap levonása. Az 5x5-ös lapokat (pl. yz síkkal párhuzamosan) már kiszámoltad egy előfeldolgozó lépésben, szintén egy mozgóátlaggal (egy oldal hozzáadása, egy levonása). Ehhez pedig legelőször az 5 hosszú csíkokat összegzed (z-vel párhuzamosan).

Quote from: kikuchiyo on 2012-01-04, 23:05:26
A lényeg, hogy a ciklusmagban lévő tömb-összeadást a Matlab elvileg gyorsan tudja csinálni, de ha nem is olyan gyorsan, akkor is csak xwindowsize*ywindowsize*zwindowsize = mondjuk 125-ször kell elvégeznie, szemben az első változatban lévő xsize*ysize*zsize = 1200000-rel.
Ez igaz, de maga a ciklusmag lesz 5x5x5 helyett 1200000 költségű, szóval pénz az ablakban. Az lehet talán a megoldásod előnye, ha a Matlab tényleg sokkal lassabban végzi a külső ciklusokat, mint a jól kioptimalizált belső összeadást.

Viszont elültetted a bogarat a fülemben. Ha nem is feltétlenül 3D, de 2D konvolúció garantáltan van a Matlabban, talán nem teljesen vacakul implementálva (de tippre lassabban, mint amit fent javaslok). Az 5x5-ös csupa egyes mátrixszal megkonvolválod az eredeti tömb 200x300-as síkjait egyenként, aztán a 20 síkot egymásravetítve oszloponként 5-ös mozgóátlag.

Quote from: Kvikveg on 2012-01-04, 23:41:28
def adaptívan változtatni kell az átlagolási tartományt úgy, hogy a térfogata állandó maradjon ???
+1
De akkor is tuti, hogy az alacsonyabb dimenziós részösszegekbe nem kalkulálható bele?

kikuchiyo

#14618
Nos, van 3D konvolúció, és nagyon sokkal gyorsabb, mint a kézi hajtányos megoldás.
(40 másodperc 11×11×11-es kernel esetén)

szerk: közben az is kiderült, hogy én voltam a faszláma, mert a for-ciklusok határait nem számoltam ki előre, ezért egy csomó memóriaintenzív, turkálós műveletet többször végeztem feleslegesen.

szerkszerk: most jött el a beismerés ideje, hogy mégis inkább anyagmennyiség-becslőnek kellett volna mennem.
[spoiler]Fél órát téptem a hajam, hogy mi a halálért száll el a matlab a ciklus végén, aztán rájöttem, hogy azért, mert beírtam a script közepére, hogy "exit;".  :punny:[/spoiler]
Failure is the default option

Balage

Sziasztok!
Szeretném megtudni, hogy mi baja lehet a gépemnek. A konfigurációm: AMD Athlon X4 3000 MHz, 2x2 GB Ram Ati radeon HD 5670. Na, mármost a gépem sokszor kifagy és túlmelegszik, tapasztalatom szerint a tápegység, mivel nemrég bővítettem (+2 GB RAM, és ATI Radeon HD 5670-es videókártya) arra gyanakszom hogy a videokari több áramot vesz fel, amit a tápegység már nem bír, ezért vannak a kifagyások. Kérdéseim: tényleg a tápegységet kell kicserélni, vagy a videókártyával van probléma? Esetleg valami más? Ha a tápegység, akkor milyet érdemes venni? Előre is köszönöm a válaszokat! A táp típúsa (azthiszem) Ever Power, ATX 12V, valami standard vinyetta van rajta nincs bejelölve hány Wattos.

kikuchiyo

Quote from: Balage on 2012-01-09, 15:18:13
A táp típúsa (azthiszem) Ever Power, ATX 12V, valami standard vinyetta van rajta nincs bejelölve hány Wattos.

:zomg:
Még ha semmi baja se lenne a gépednek, ezt a tápegységet akkor is érdemes lecserélni és minél messzebb elhajítani.

Az ajánlott típusokat a szakértőkre bízom.
Failure is the default option

Darkstar

#14621
Kéne valami VBA gyorstalpaló, amin kb 1 hét alatt át tudom rágni magam. Valakinek van javaslata? :D
小野寺梓のラブリーすきぴちゃん

Flaser

Quote from: Balage on 2012-01-09, 15:18:13
Sziasztok!
Szeretném megtudni, hogy mi baja lehet a gépemnek. A konfigurációm: AMD Athlon X4 3000 MHz, 2x2 GB Ram Ati radeon HD 5670. Na, mármost a gépem sokszor kifagy és túlmelegszik, tapasztalatom szerint a tápegység, mivel nemrég bővítettem (+2 GB RAM, és ATI Radeon HD 5670-es videókártya) arra gyanakszom hogy a videokari több áramot vesz fel, amit a tápegység már nem bír, ezért vannak a kifagyások. Kérdéseim: tényleg a tápegységet kell kicserélni, vagy a videókártyával van probléma? Esetleg valami más? Ha a tápegység, akkor milyet érdemes venni? Előre is köszönöm a válaszokat! A táp típúsa (azthiszem) Ever Power, ATX 12V, valami standard vinyetta van rajta nincs bejelölve hány Wattos.

Ha még egy normális cetli sincs rajta, akkor érzésem szerint te vlm. "Vargánya és Társa" kaliberű tápot sikerült szerezzél... Az ilyen "remekbe szabott" darabok tudják a teljes gépedet hazavágni.

Villámgyorsan ruházz be vlm. minőségibb tápra, a többiek (praktizáló rendszergazdák) majd megmondják most milyet érdemes venni ami csendes, megbízható és olcsó (azért egy 10-20k pénzed legyen rá).

Nekem ugyanilyen videokártyám van (igaz passzív hűtéssel, amit egy emberölésre is alkalmas méretű és súlyú hűtőborda tesz lehetővé), amit egy sima 450W-os Chieftec táp gond nélkül megtáplál, pedig nálam perifériából is több van mint az átlag (pl. 3 HDD, HDD hűtő).

A táp mellett én először a túlmelegedésre gyanakodnék. Lehet, hogy a CPU hűtő nincs rendesen a helyén, nincs a borda alatt paszta. Ugyanez a felállás lehet a GPU hűtővel is, utóbbi lehet, hogy gyári hibás (rosszul szerelték fel). Tegyél föl egy Speedfan-t és írd be ide miket mért.
"Logically sound? How laughable. The only thing that people use logic for is to see what they want to see and disregard what they do not."

Cobra

FSP350-60APN, FSP HEXA (max 400W-osat, nagyobb felesleges), Chieftec CTG-400, esetleg Be Quiet! Pure Power 350W vagy Corsair CX430W, ileltve Gigabyte Superb 460W (csak a 460-a, a többi gyengébb minőségű).
A videókártyád nem fogyaszt sokat, ha nem tervezel jóval komolyabbat a közeljövőben, akkor bőven elég egy 350W-os táp is.
Illetve vannak még alternatívák, de véleményem szerint felesleges 20e Ft-os tápot venned ahhez a géphez. Hangban egyébként a felsoroltak közül a Be Quiet lesz a leghalkabb, de a többi se vészes.
Hide and fear, Cobra Commander is here !

Cloud

Ahhoz a géphez még 400as táp sem kell.  Irány fel hardverapróra, amíg még a régi rendszer van ott is. Ott biztos találsz jó tápot, olcsón. Pro tipp. HKC és társai típusú tápokat felejtsd el. Hiába olcsók, semmit nem érnek.

Kuroi Tenshi

#14625
Quote from: Cobra on 2012-01-09, 20:37:16
FSP350-60APN, FSP HEXA (max 400W-osat, nagyobb felesleges), Chieftec CTG-400, esetleg Be Quiet! Pure Power 350W vagy Corsair CX430W, ileltve Gigabyte Superb 460W (csak a 460-a, a többi gyengébb minőségű).

^dat.
Plusz irány coretemp és gpu-z-t letölteni, ha túlmelegedésre gyanakszol,
s utána prime95 / ibt / occt ill. gpu-hoz furmark, hogy terhelés mellett
ellenőrizni tudd, hogyan változik a hőmérséklete. De szerintem is egy
rossz táp lesz inkább.

Quote from: Cloud on 2012-01-09, 20:49:27
Ahhoz a géphez még 400as táp sem kell.  Irány fel hardverapróra, amíg még a régi rendszer van ott is. Ott biztos találsz jó tápot, olcsón.

Új OEM FSP 350PNF/APN/GHN 8-9k, garival. Gondolom nem fogja
előtte műszerrel és műterheléssel kimérni a tápot, s ha egy rossz
tápot köt a gépére, avval a gép is elfüstölhet. Nem éri meg az az
1-2 ezres a kockázatot. szvsz.

Cloud

KT:


VÉgül is hja, újonnan is megkapja olcsón. És még gari is van rá. :)  :jee:

Kvikveg

Quote from: kikuchiyo on 2012-01-05, 12:41:51
...
szerkszerk: most jött el a beismerés ideje, hogy mégis inkább anyagmennyiség-becslőnek kellett volna mennem.
[spoiler]Fél órát téptem a hajam, hogy mi a halálért száll el a matlab a ciklus végén, aztán rájöttem, hogy azért, mert beírtam a script közepére, hogy "exit;".  :punny:[/spoiler]
En most hangosan nevetek.  :lol:
WARNING: module "coffee.exe" did not run correctly. Brain running in limited mode.
Do not meddle in the affairs of dragons for you are crunchy and taste good with ketchup.

Balage

kikuchiyo, Flaser, Cobra, Cloud, Kuroi Tenshi, Köszönöm szépen a tanácsokat! Az elmúlt órát méricskéléssel töltöttem és GPU hőmérséklete nem ment 47 fok felé, valamint a többi alkatrész, CPU, HDD stb, sem melegedett túl. Szóval kizárásos alapon a táp néha úgy dönt, hogy nem dolgozik úgyhogy hajítom majd ki. Egyébként a tápot a házzal együtt adták (a ház sem egy nagy durranás) de rá van írva made in China. Szóval van Brand-je.  :D Még egyszer köszi skacok nagyon rendes tőletek. :tezsvir:

Kuroi Tenshi

Quote from: Balage on 2012-01-09, 23:09:29
Szóval kizárásos alapon a táp néha úgy dönt, hogy nem dolgozik úgyhogy hajítom majd ki.

A fent említett márkákat keresd ki itt.
A tápot mindenképp cseréld, mert egy rossz konstrukciójú táp
az egész géped elfüstölheti, de ezen kívül lehet még a RAM is,
hiszen azt is bővítettél, és egy hibás modul is okozhat kifagyást,
resetet. Ahhoz pedig egy pendrive-ot formázz memtest86+-szal.

TurboK

Quote from: Balage on 2012-01-09, 23:09:29
kikuchiyo, Flaser, Cobra, Cloud, Kuroi Tenshi, Köszönöm szépen a tanácsokat! Az elmúlt órát méricskéléssel töltöttem és GPU hőmérséklete nem ment 47 fok felé, valamint a többi alkatrész, CPU, HDD stb, sem melegedett túl. Szóval kizárásos alapon a táp néha úgy dönt, hogy nem dolgozik úgyhogy hajítom majd ki. Egyébként a tápot a házzal együtt adták (a ház sem egy nagy durranás) de rá van írva made in China. Szóval van Brand-je.  :D Még egyszer köszi skacok nagyon rendes tőletek. :tezsvir:
PC hardver 99%-át kínában és tajvanban gyártják, ugyhogy az alap. Egyedül a 3dfx Voodoo kártyákat nem ott csinálták... azokat mexikóban.

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

Moha

Van egy régebbi P4 gép (kompakt irodai HP), amit rám bíztak, hogy csendesítsek le. Kitakarítottam a ventit (elég gyapjas volt már a borda) és újrapasztáztam, meg kifújtam a gépházból is a port, de észrevettem, hogy az egyik kondi a proci mellett elég csúnyán megfolyt. A többi ugyanilyen kondinak (összesen 7db van) semmi baja, csak egy folyt ki. A gép amúgy működik, nem fagy le, nem indul újra, mindössze néha nem hajlandó elsőre elindulni.
Tulajnak jelenleg nincs pénze jobb gépre (bár javasoltam, sőt láttam is egy Athlon X2 5000+ gépet használtan 38-ért neki).
Sosem cseréltem még kondit és csak forrasztópisztoly van otthon. Érdemes-e nekiállnom a kondicserének, vagy inkább hagyjam amíg működik?

Cloud

Ha még nem próbáltad akkor szerintem hagyd. Keressetek egy hozzáértő embert, vagy ismerőst aki olcsón megcsinálná. De ha jól tudom oda kell figyelni kondira is hogy milyenre cserélitek le.

Fazék

#14633
van egy Inno3D 8600 GT 256MB videókártyám
használtam kb fél hónapot.

fél éve odaadtam egy srácnak (pár hónapra :)), hogy használja nyugodtan, amíg nem sikerül újat szereznie a bedöglött videókártyája helyett.
namármost jelenleg úgy néz ki, hogy nem fog tudni venni komolyabb kártyát, szóval fölvetette, hogy ezt átvenné tőlem.

mennyit érhet ez a kártya jelenleg, mennyit nem pofátlanság elkérni érte így fél év használat után?

én annó azt hiszem vmi 10,5k nettó körül vettem még jó 2,5-3 éve nagyjából, és csak egy tartalék videókártya szerepét töltötte be nálam.

a gondom, hogy 5k-t minimum el szeretnék kérni érte, de halvány lila gőzöm sincs, hogy a jelenleg újonnan kapható kártyák közül melyik van egy szinten ezzel, szóval még közelítőleg sem tudom megtippelni a kártya valós értékét az új kártyákkal szemben...


Fazék

Quote from: Cloud on 2012-01-11, 17:25:23
ja. közben én is nézegettem hardverapro-s hirdetéseket, szintén ilyen 4-6k közötti árakat találtam.

a kérdés innentől inkább arra vonatkozna, hogy a jelenlegi újonnan vásárolható videókártya fölhozatalból mi az, ami ezzel a 8600GT kártyámmal kb egy szinten van?

de vszleg mondok a srácnak egy 5k-s árat, és döntse el ő, hogy megéri-e neki.

NLZ

Olyan régi kártya ez, hogy összehasonlítani sem lehet nagyon, de sztem egy szinten van a kb 10k körül kapható kártyákkal.
[reserved]

Cobra

A 210/5450 párosnál talán jobb kicsivel, azok 10k körül vannak újonnan.
Hide and fear, Cobra Commander is here !

TurboK

De azokon van normális hdmi kimenet. Ha van hdtv-d, akkor az rengeteget számít. Nálam is van egy tartalék 8600gt, de nem lehet sehogy se a TV-re kötni rendesen.

Jó lovag, velünk tartasz-e Camelotba a kerekasztal lovagjai közé?

http://www.saunalahti.fi/cse/foobar2000.php target=_blank>http://web.axelero.hu/fka2636/dwnld_fb2k.png>

Fazék

Quote from: Cobra on 2012-01-11, 18:35:44
A 210/5450 párosnál talán jobb kicsivel, azok 10k körül vannak újonnan.
hümm... fogalmam sincs mennyire hajtotta szét a srác a kártyámat, de így hogy kb 10k lenne pótolni, ha mégis szükségem lenne rá, szóval ettől most egy picit elbizonytalanodtam...
lehet hogy akkor inkább már megtartom a kártyát vészhelyzetre, vagy odaadom a Dominak használatra.
úgyis lehet, hogy venne mostanában egy asztali gépet, annak az összeállításában is megköszönnénk a segítséget.

ugyebár a már sokat emlegetett FSP 350 APN vagy mi táp az adott, annál komolyabb biztosan nem kell neki, gyengébbet viszont nincs értelme venni (de javítsatok ki, ha ez így nem igaz) szóval ez eddig 9k

vinyója azt hiszem akad.

vmi olcsó házat vszleg magunktól is találunk, vagy ha van eldobandó ATX házatok, akkor azt is szívesen fogadja a Domi :D
de inkább a beltartalom lenne a lényeges kérdés, hogy mi az ami jelenleg a legolcsóbb, de mégis használható konfigot jelenti.
amire kell: általános otthoni használat, por internetezés, CS:S 1280*1024-ben akadásmentes futtatása, Heroes V is menjen rajta normálisan, HD filmlejátszás
más igénye azt hiszem nincs a Dominak
előre is köszi :)