3 पॉइंट द्वारा GN⁺ 2024-06-26 | 1 टिप्पणियां | WhatsApp पर शेयर करें

$2 माइक्रोकंट्रोलर पर SIMD-accelerated कंप्यूटर विज़न का इम्प्लीमेंटेशन

ESP32-S3 का प्रदर्शन

  • ESP32-S3 एक कम-कीमत वाला माइक्रोकंट्रोलर है, जिसमें 240MHz dual-core CPU, WiFi, Bluetooth Low Energy रेडियो, और कई तरह के peripherals शामिल हैं.
  • यह चिप 128-bit SIMD instructions को सपोर्ट करती है, और इनका उपयोग करने पर प्रदर्शन को काफी बढ़ाया जा सकता है.

SIMD-accelerated FAST corner detector का इम्प्लीमेंटेशन

  • FAST corner detector को SIMD instructions से accelerate करके QVGA(320x240) फ्रेम को लगभग 6ms में प्रोसेस करना संभव हुआ.
  • इससे reference implementation की तुलना में लगभग दोगुना प्रदर्शन हासिल हुआ.

Assembly language और register allocator

  • ESP32-S3 पर assembly language सीखी गई, और चिप की सीमाओं को पार करने के लिए एक बुनियादी register allocator (basm) लिखा गया.
  • SIMD instructions का उपयोग करके एक बार में 16 pixels प्रोसेस करने वाला फ़ंक्शन इम्प्लीमेंट किया गया.

Pixel data processing

  • Pixel data को प्रोसेस करने के लिए center pixel और आसपास के pixels के बीच के अंतर की तुलना की गई.
  • ESP32-S3 की सीमाओं को पार करने के लिए pixel data को उपयुक्त रूप से transform करने का तरीका तैयार किया गया.

प्रदर्शन में सुधार

  • SIMD-accelerated FAST corner detector के जरिए प्रोसेसिंग स्पीड में लगभग 220% सुधार किया गया.
  • इससे ESP32-S3 के लिए 30fps VGA stream को real time में प्रोसेस करना संभव हो गया.

GN⁺ की राय

  • ESP32-S3 की उपयोगिता: अपनी कम कीमत के मुकाबले मजबूत प्रदर्शन देने वाला ESP32-S3, कई तरह के IoT और embedded system प्रोजेक्ट्स में उपयोगी है.
  • SIMD instructions का महत्व: SIMD instructions का उपयोग करके कम-क्षमता वाले hardware पर भी उच्च प्रदर्शन हासिल किया जा सकता है.
  • Assembly language सीखना: Assembly language सीखने से hardware के सूक्ष्म व्यवहार को समझने और उसे optimize करने की क्षमता विकसित होती है.
  • सीमाओं को पार करना: hardware की सीमाओं को पार करने की प्रक्रिया में रचनात्मक problem-solving क्षमता विकसित की जा सकती है.
  • Real-time computer vision: यह दिखाता है कि कम-लागत वाले माइक्रोकंट्रोलर्स पर भी real-time computer vision कार्य संभव हैं.

1 टिप्पणियां

 
GN⁺ 2024-06-26
Hacker News राय
  • यह शानदार है कि silicon की कीमत औसत coffee से भी कम है। शायद chips बहुत सस्ते नहीं हैं, बल्कि coffee बहुत महंगी है।
  • ESP32-CAM बोर्ड व्यावहारिक computer vision projects को सपोर्ट करता है।
  • अगर रुचि हो, तो Edge Impulse product को देखना सुझाया जाता है।
  • Edge Impulse deep learning, computer vision, और DSP tasks को optimize करता है।
  • अगर आप TensorFlow, PyTorch, JAX models upload करते हैं, तो आपको optimized C++ library मिल सकती है।
  • Edge Impulse अलग-अलग embedded hardware के लिए model training studio प्रदान करता है।
  • ESP32-S3 पर SIMD के बारे में छोटा लेख भी देखने लायक है।
  • यह जानने की जिज्ञासा है कि क्या कई ESP32 को parallel में इस्तेमाल करके higher resolution और frame rate संभाला जा सकता है।
  • FAST feature detector को SIMD से accelerate करके performance में 220% सुधार किया गया।
  • ARMv7 और ARMv8 में optional SIMD instruction set extensions हैं।
  • Orrin Nano 40 TOPS देता है, जो Copilot+ के लिए पर्याप्त है।
  • infrared light को visible light में बदलने के तरीकों पर शोध किया गया है।
  • Raspberry Pi Pico पर VGA/TV display लागू करने के लिए PicoVGA library है।
  • यह जानने की जिज्ञासा है कि क्या Rust के साथ ESP32 controller का उपयोग संभव है।
  • यह भी जिज्ञासा है कि क्या ESP32 में VLIW slots हैं और क्या अधिक tightly packed instruction packaging संभव है।
  • इस तरह की processing में SIMD, SMT से बेहतर है।
  • अधिक महंगा और बेहतर विकल्प पसंद है। Intel UpSquared मौजूद है।