6.5.16 · D5 · HinglishAdvanced & Emerging Architectures

Question bankApproximate computing techniques

2,598 words12 min read↑ Read in English

6.5.16 · D5 · Hardware › Advanced & Emerging Architectures › Approximate computing techniques


Symbol & metric refresher (pehle yeh padho)


True or false — justify karo

Har item Statement ::: verdict + reason format mein hai. Peek karne se pehle decide karo.

Approximate computing ka matlab hai hardware unreliable hai aur random answers deta hai.
False. Error engineered aur bounded hai — hum exactly choose karte hain kahan jaati hai (LSBs, non-critical data) aur ek quality guarantee prove karte hain; yeh ek design knob hai, defect nahi.
Array multiplier ka bit-width half karne se uski energy roughly half ho jaati hai.
False. Ek array multiplier full-adder cells layout karta hai (ek square grid — figure s03 dekho), toh energy ; half karne se milta hai — ek 4× cut, 2× nahi. Dekho Ripple-Carry vs Array Multipliers.
Supply voltage 20% drop karne se dynamic power ka lagbhag 20% bachta hai.
False. Dynamic power , toh → lagbhag 36% saving. Square (figure s01) exactly isliye voltage overscaling ek jackpot hai. Dekho Dynamic Power P = alpha C V^2 f.
Agar per-operation errors independent aur zero-mean hain, toh unhe sum karne se relative error shrink hoti hai.
True. Total error ki tarah badhti hai jabki sum ki tarah badhta hai, toh ratio hota hai (figure s04 mein histogram dikhata hai ki error pile-up narrow rehta hai).
Approximation kaafi operations mein hamesha "average out" ho jaati hai.
False. Yeh sirf tab cancel hoti hai jab errors independent aur zero-mean hoon; ek biased scheme (jaise hamesha downward truncate karna) systematically drift karta hai aur nahi balki ki tarah badhta hai (figure s04 mein dono lines diverge karti hain).
Voltage overscaling aur precision scaling dono same physical mechanism se power bachate hain.
False. Precision scaling circuit ko shrink karta hai (kam switching cells, mein ya factor); overscaling same circuit rakhte hue term ko shrink karta hai. pe alag-alag levers hain.
Natural-image blur pe loop perforation isliye kaam karta hai kyunki pixels unpredictable aur random hote hain.
False. Yeh ulti wajah se kaam karta hai — adjacent rows/pixels highly correlated hote hain, toh skipped row ko uske neighbour se achhi tarah approximate kiya ja sakta hai.
INT8 inference ka FP32 se energy mein aage nikaalna purely ek arithmetic () win hai bina kisi downside ke.
False. multiplier shrinkage sabse bada single factor hai (figure s05), lekin INT8 saath hi 4× kam bytes move karta hai → kam memory-bandwidth aur data-movement energy; ek naive kernel jo abhi bhi FP32-sized data shuffle karta hai win ka zyada hissa gawa sakta hai. Arithmetic aur data movement dono matter karte hain. Dekho Neural Network Quantization.
DRAM refresh rate kam karna approximate computing ki ek form hai.
True. Kam refreshes power bachate hain lekin kuch cells decay hone aur flip hone dete hain; agar data error-tolerant hai (jaise pixel values), woh flips acceptable hain. Dekho DRAM Refresh and Memory Reliability.
Ek truncated multiplier biased error introduce karta hai, zero-mean nahi.
True. Truncation hamesha tail drop karta hai (zero ki taraf round karta hai), toh error ka consistent sign hota hai — yahi bias wajah hai ki rounding schemes aggregation ke liye often preferred hote hain (figure s04 mein drifting line dekho).

Error dhundho

Har statement mein ek flaw hai. Use naam do.

"Maine program ke sabse bade loop ko approximate karke sabse zyada energy bachaya, jo array indices compute karta hai."
Error hai control flow / addresses ko approximate karna — loop bounds ya pointers corrupt karne se crashes ya wild output hoti hai; sirf tolerant data ko approximate kiya ja sakta hai.
"FP16 mein, main exponent bits ko approximate karunga kyunki woh sirf 5 hain — choti savings lekin easy."
Exponent magnitude control karta hai; ek galat exponent bit kisi value ko power of two se multiply kar sakta hai → catastrophic error. Sirf mantissa LSBs safe hain. Dekho Precision and Number Formats (FP32, FP16, INT8).
"Error correcting codes aur approximate memory ek hi idea ke do naam hain."
Opposite goals — Error-Correcting Codes extra bits/energy kharach karte hain error hatane ke liye, approximate memory error allow karti hai energy bachane ke liye. Ek use karo jahan reliability matter karti hai, doosra jahan nahi karta.
"Kyunki law relative error shrink karta hai, main ek iterative solver ke har stage ko freely approximate kar sakta hoon."
law independent errors ko sum pe assume karta hai. Feedback loop mein errors step-to-step amplify ho sakti hain; tumhe stability check karni padegi, sirf per-op error nahi.
"Voltage overscaling power bachata hai lekin timing ko kabhi affect nahi karta, toh koi bhi circuit ise use kar sakta hai."
Delay girne ke saath badhti hai (, figure s01 mein steep curve); fixed clock pe kuch paths apni deadline miss karte hain → timing errors. Yeh sirf isliye "kaam karta hai" kyunki woh errors non-critical LSBs pe steer ki jaati hain.
"41 dB ka PSNR 33 dB se worse hai kyunki 41 > 33 ka matlab zyada distortion hai."
Ulta hai — PSNR ek quality metric hai log scale pe, higher better hai. 41 dB cleaner image hai; dB gap ka matlab hai kai-guna kam error (figure s02).
"Ek multiply pe 2% relative error final image pe zyada se zyada 2% error guarantee karta hai."
Guaranteed nahi — per-op error aur end-to-end quality alag quantities hain; errors accumulate, cancel, ya amplify ho sakti hain algorithm ke hisaab se. Tumhe application metric (PSNR, accuracy) measure karna hoga.

Why questions

Mechanism step by step answer karo, sirf fact nahi.

Precision scaling ke argument mein multiplier, adder ko kyun dominate karta hai?
Ek -bit ripple adder full-adders ki ek line hai → energy . Ek array multiplier full-adders ka ek square grid hai (figure s03) → energy . Kyunki grid do directions mein badhta hai, shrink karna area ko quadratically remove karta hai — woh quadratic hi lever hai. Dekho Ripple-Carry vs Array Multipliers.
Error ko sirf reduce karna nahi, bound karna field ki defining feature kyun hai?
(1) Koi bhi input worst case ho sakta hai. (2) Jo system tum ship karte ho use sabhi inputs pe quality promise karni hoti hai. (3) Toh tumhe error ka proven ceiling chahiye, average nahi — ek unbounded scheme kisi rare input pe silently fail kar sakta hai chahe woh usually theek ho.
Aggregation ke waqt unbiased/rounding schemes truncation ko kyun beat karti hain?
(1) Rounding errors roughly zero-mean hote hain, toh unhe sum karne pe aur cancel hote hain → total sirf ki tarah badhta hai. (2) Truncation hamesha ek taraf lean karta hai (bias), toh uski errors add up hoti hain → total ki tarah badhta hai. (3) Bade ke liye biased line unbiased wali ke upar tower karti hai (figure s04) — same per-op size, wildly different totals.
Voltage overscaling ko " jackpot aur risk" kyun kaha jaata hai?
(1) Reward: power ki tarah girta hai, toh thodi si voltage cut se disproportionate power cut milta hai (left curve, figure s01). (2) Risk: delay jab hota hai toh blow up karta hai (right curve). (3) Dono race karte hain: gains sirf tab risks se aage rehte hain jab induced timing errors saste-se-tolerate LSBs pe land karti hain.
Approximate computing dark-silicon problem ke saath naturally kyun align hota hai?
(1) Tum thermal/power budget ke andar saare transistors ek saath power nahi kar sakte. (2) Approximation per useful result energy cut karta hai. (3) Toh same power budget zyada useful compute khareedta hai — approximation directly "dark" area wapas khareedta hai. Dekho Dark Silicon and Energy-Efficient Architectures.
Ek neural network textbook error-resilient workload kyun hai?
(1) Har output kaafi weighted inputs ka sum hai — ek aggregation, toh per-multiply noise partly cancel hoti hai ( law). (2) Final answer ek discrete decision hai ("cat"), score mein choti tharakhanon ke liye robust hai. (3) Result: chhoti multiply errors rarely class flip karti hain. Dekho Neural Network Quantization.
Ek hi bit-width wale do chips mein approximation error mein itna zyada farq kyun ho sakta hai?
(1) Bit-width sirf kitne bits hain yeh fix karta hai. (2) Circuit design decide karta hai woh bits kaise behave karein — exact vs approximate full-adder, array kahaan truncate hota hai, voltage kitna overscale hota hai. (3) Same , alag engineering ⇒ alag error.

Edge cases

Woh scenarios jo naive rules bhool jaate hain — har ek ke saath woh jo actually limit mein hota hai.

Jab ho (sirf ek operation) toh "error averages out" argument ka kya hota hai?
ke saath cancel karne ke liye kuch nahi hota — shrinkage gayab ho jaata hai aur relative error poori hoti hai. Ek akela approximate op ko apne dum pe tolerate karna padta hai, statistics se nahi.
Agar errors correlated hain (jaise har op similar data pe same taraf round karta hai) toh kya hoga?
Woh cancel karna band kar dete hain; sum ke variance mein positive cross-terms aa jaate hain aur ki jagah ki tarah badh sakta hai, toh standard deviation ki tarah badhti hai — benefit bilkul khatam ho jaata hai (yeh figure s04 mein biased curve ka cousin hai).
Ek value jo baad mein array index ya branch condition feed karti hai, use approximate karne ka kya effect hota hai?
Ek degenerate, dangerous case — ek corrupted index/branch "thoda sa galat output" nahi hai balki out-of-bounds access, crash, ya arbitrary jump hai. Aisa data strictly off-limits hai, chahe kitni bhi energy bachti ho.
Aggressive voltage overscaling ki limit pe, pehle kya fail hota hai aur kyun?
Sabse lamba (critical) timing path pehle fail hota hai — uske paas sabse kam slack hota hai, aur figure s01 ki delay curve wahan sabse tezi se rise karti hai. Jab aur girta hai, errors LSBs se upar MSBs ki taraf creep karne lagte hain jab tak quality bound break na ho jaaye aur output garbage na ban jaaye.
Ek loop ko poore loop length ke barabar factor se perforate karne ka kya effect hota hai?
Yeh har iteration skip karta hai — ek degenerate case jo koi real kaam nahi karta; output pure copy/interpolation hai initial state ka. Speed-vs-quality trade-off collapse ho gaya hai aur quality unbounded (useless) hai.
Agar kisi workload mein koi bhi error-resilient part nahi hai (jaise cryptography, financial ledgers), toh approximate computing kya offer karta hai?
Essentially kuch nahi — har bit critical hai (ek single flipped ledger cent ya cipher bit ek hard failure hai), toh error inject karne ki koi safe jagah nahi hai. Yeh technique simply apply nahi hoti.

Recall Traps ka ek-line summary

Approximation bounded aur purpose se placed hoti hai: power ke saath scale hoti hai (overscaling) aur circuit size ya ke saath (precision), errors sirf tab vanish hoti hain jab independent aur zero-mean hoon, quality ek log scale pe measure hoti hai (PSNR dB, higher = better), aur control/exponent/index data kabhi approximate nahi hota.