การเขียนโปรแกรมด้วยภาษา C : เร็วและประหยัดพลังงานที่สุด

interpreted-languages-poor-efficiency

ในฐานะที่เป็นอดีตวิศวกรซอฟต์แวร์ซึ่งส่วนใหญ่ทำงานเกี่ยวกับการเขียนโปรแกรม C และ Assembly ภาษาโปรแกรมระดับต่ำ, สองภาษานี้เป็นภาษาการเขียนโปรแกรมที่มีประสิทธิภาพที่สุด เนื่องจากอยู่ใกล้กับฮาร์ดแวร์มาก แต่เพื่อขจัดข้อสงสัยใดๆ ทีมนักวิจัยของมหาวิทยาลัยในโปรตุเกสพยายามหาปริมาณประสิทธิภาพการใช้พลังงานของภาษาโปรแกรมต่างๆ (และของคอมไพเลอร์ (Compiler)/อินเตอร์พรีเตอร์ (Interpreter)) ในบทความเรื่อง Energy Efficiency across Programming Languages ที่ตีพิมพ์ในปี 2560 โดยดูจากรันไทม์ การใช้หน่วยความจำ และการใช้พลังงานของภาษาโปรแกรมที่รู้จักกันดี 27 ภาษา, ภาษา C เป็นผู้ชนะมีประสิทธิภาพมากที่สุด ในขณะที่ Python ซึ่งตอนนี้ฉันจะเรียกว่า ภาษาการเขียนโปรแกรมของผู้ก่อมลพิษ 🙂 อยู่ที่ด้านล่างสุดของมาตราส่วนพร้อมกับ Perl การศึกษาดำเนิ […]

AIfES สำหรับ Arduino ที่มีประสิทธิภาพสูง AI เฟรมเวิร์ก สำหรับไมโครคอนโทรลเลอร์กลายเป็นโอเพ่นซอร์ส

AlFes-for-Arduino

AIfES (AI for Embedded Systems) ปัญญาประดิษฐ์สำหรับระบบสมองกลฝังตัวเป็นแบบ standalone, มีประสิทธิภาพสูง, AI เฟรมเวิร์ก, ซึ่งอนุญาติให้สถาบันฟรานฮอฟเฟอร์ (Fraunhofer Institute for Microelectronic Circuits and Systems), หรือเรียกสั้นๆว่า Franhofer IMS  เพื่อฝึกและรัน machine learning อัลกอริทึม (Algorithm) บนไมโครคอนโทรลเลอร์ที่มีข้อจำกัดด้านทรัพยากร จนถึงตอนนี้ เฟรมเวิร์กเป็นแบบโอเพนซอร์สและใช้ภายในโดย Fraunhofer IMS เท่านั้น แต่หลังจากร่วมมือกับ Arduino แล้ว, AIfES สำหรับ Arduino จึงเป็นโอเพ่นซอร์สและใช้งานฟรีสำหรับโครงการที่ไม่ใช่เชิงพาณิชย์ เฟรมเวิร์กได้รับการปรับให้เหมาะสมเพื่อไมโครคอนโทรลเลอร์ 8 บิตเช่นที่พบใน Arduino Uno สามารถใช้โครงข่ายประสาทเทียม (ANN) ที่สามารถฝึกฝนได้ในเวลาปานกลาง นั่นหมายถึงการอนุมาน […]

NVIDIA Jetson Nano AI inferenceโดยใช้รูปภาพ สตรีมวิดีโอ RTSP

Jetson-Nano-RTSP-Stream-Inference-640x427

เมื่อเดือนที่แล้วฉันได้รับชุดนักพัฒนา NVIDIA Jetson Nano ร่วมกับ 52Pi ICE Tower Cooling Fan และเป้าหมายหลักคือการเปรียบเทียบประสิทธิภาพของบอร์ดกับฮีทซิงค์สต็อกหรือฮีทซิงค์ 52Pi + พัดลมแบบคอมโบ แต่ฮีทซิงค์ในสต็อกสามารถระบายความร้อนให้กับบอร์ดได้ดีมาก และการทดสอบ stress ของ CPU ทั่วไปไม่ได้ทำให้โปรเซสเซอร์เร่งความเร็วเลย ดังนั้นฉันจึงต้องเน้น GPU ด้วยเช่นกัน เนื่องจากต้องใช้ความพยายามในการตั้งค่าทั้งหมด ดังนั้นฉันจะรายงานประสบการณ์ของฉันในการกำหนดค่าบอร์ด และใช้งานโปรแกรมทดสอบ AI รวมถึงการเรียกใช้การตรวจจับวัตถุบนสตรีมวิดีโอ RTSP การตั้งค่าบอร์ด NVIDIA Jetson Nano การเตรียมบอร์ดเหมือนกับที่คุณทำกับ SBC อื่นๆ เช่น Raspberry Pi และ NVIDIA มีคู่มือการเริ่มต้นใช้งาน ดังนั้นฉันจะสรุปดังนี้ : ดาวน์โหลดอิมเมจเฟิร์มแวร์ล […]

CorgiDude ใช้ RISC-V เป็นบอร์ดสำหรับปัญญาประดิษฐ์ (AI) Machine Learning ผลิตในประเทศไทย

CorgiDude-AI-Learning-Kit

บริษัทเมกเกอร์ เอเชีย จำกัดเป็นบริษัทเล็กๆ ในประเทศไทย ที่ได้ผลิตหรือแม้กระทั่งตรวจสอบบอร์ดที่ผลิตในประเทศไทยบางส่วน รวมถึงบอร์ดESP8266และESP32 , 3G Raspberry Pi HATและแพลตฟอร์มการศึกษา KidBrightเป็นต้น บริษัทได้พัฒนา  CorgiDude (คอร์กี้ดู๊ด) ซึ่งเป็นบอร์ดที่ใช้โมดูล Sipeed M1 RISC-V AI เวอร์ชันSipeed M1พร้อม WiFi ในตัวและเป็นชุดอุปกรณ์ที่มีกล้องและจอแสดงผลที่ใช้ในการสอน Machine Learning และปัญญาประดิษฐ์(AI) สามารถเขียนโปรแกรมหลักด้วยภาษา  MicroPythonหรือ ภาษาC/C++ สเปคบอร์ด CorgiDude: โมดูลไร้สาย AI – โมดูล M1W แบบ Sipeed พร้อมด้วย Kendryte K210 dual-core 64-bit RISC-V RV64IMAFDC CPU ที่ 400Mhz พร้อม FPU, ตัวเร่ง AI ต่างๆ (KPU, ตัวเร่ง FFT …), SRAM บนชิป 8MiB Espressif ESP8285 single-core 2.4 GHz WiFi 4 […]

วิธีใช้บอร์ด Raspberry Pi Pico ด้วย MicroPython และภาษาC

Raspberry-Pi-Pico-Getting-Started-Guide

บอร์ด Raspberry Pi Pico ที่เพิ่งเปิดไปไม่นาน และต้องขอบคุณบริษัท Cytron ที่ส่งตัวอย่างมาให้ ฉันจึงมีเวลาเล่นกับบอร์ดโดยใช้โปรแกรมภาษา MicroPython และ C ฉันเริ่มต้นจากการไปที่เอกสาร   และสิ่งที่ฉันต้องการคือหลอด LED บางหลอดกะพริบ และฉันก็จะเริ่มบันทึกด้วยคู่มือการเริ่มต้นใช้งาน Raspberry Pi Pico โดยใช้คอมพิวเตอร์ที่ทำงานอยู่ในระบบปฏิบัติการ Ubuntu 20.04 ซึ่งจะคล้ายกันสำหรับ Windows และ Mac OS การเตรียมฮาร์ดแวร์ ในทางทฤษฎีแล้ว เราสามารถเริ่มต้นด้วยบอร์ดเพียงอย่างเดียว แต่ฉันจะลองใช้หัวแร้งบัดกรี  (Pinecil soldering ironl ) ด้วยตัวจ่ายไฟ MINIX NEO P2 USB-C หัวแร้งบัดกรีใช้งานได้ดีประมาณหนึ่งนาที แล้วฉันก็เริ่มมีปัญหากับการบัดกรี … มองไปที่หน้าจอเป็น Zzzz และอุณหภูมิลดลง ซึ่งอาจเป็นเพราะไม่ได้ขยับการบัดกรี จึ […]