Tags:
Node Thumbnail

อินเทลมีสินค้าชิ้นสำคัญในสายซอฟต์แวร์คือ Intel C++ Compiler ที่รีดประสิทธิภาพซีพียูได้ดีกว่าคอมไพล์เลอร์โอเพนซอร์สทั่วไป แต่ปีนี้อินเทลก็เตรียมย้ายเอนจินภายในของคอมไพล์เลอร์นี้ไปใช้ LLVM แทนแล้ว

LLVM เป็นโครงการที่มีโครงการย่อยๆ อยู่จำนวนมาก เช่น คอมไพล์เลอร์ภาษา C++ นั้นมีโครงการ Clang เป็นตัวคอมไพล์ภาษา (frontend) อยู่ โดยอินเทลจะพัฒนาให้ LLVM สามารถออปติไมซ์โค้ดได้ดีขึ้น โดยโค้ดส่วนหนึ่งจะส่งกลับเข้าโครงการ LLVM แต่บางส่วนจะเก็บไว้กับคอมไพล์เลอร์ Intel oneAPI เท่านั้น

Tags:
Node Thumbnail

LLVM โครงการเฟรมเวิร์คสำหรับการสร้างคอมไพล์เลอร์ ออกเวอร์ชั่น 6.0 โดยฟีเจอร์สำคัญที่สุดคงเป็นการอิมพลีเมนต์ Retpoline ป้องกันการโจมตี Spectre

ฟีเจอร์สำหรับ x86 ที่เพิ่มมาคือการรองรับคำสั่งและซีพียูใหม่ๆ ดีขึ้นมาก เช่น สามารถใช้ชุดคำสั่ง AVX512 ในซีพียูอินเทลได้ดีขึ้น รองรับการคอมไพล์โค้ดให้ตรงกับซีพียูรุ่นใหม่ๆ ของทั้งอินเทลและเอเอ็มดี ในแง่ของระบบปฎิบัติการก็รองรับการออกข้อมูลดีบัก CodeView ได้สมบูรณ์กว่าเดิม

Tags:
Node Thumbnail

โครงการนำ Clang มาใช้คอมไพล์โค้ดภาษา C++ ของไมโครซอฟท์ มีความก้าวหน้าอย่างจับต้องได้อีกขั้นเมื่อไมโครซอฟท์ได้นำเสนอวิธีการคอมไพล์โค้ดวินโดวส์แอพด้วย Clang ในงาน CPPCon 2015 ที่ผ่านมา และคาดว่าจะเพิ่มวิธีการคอมไพล์นี้ในชุดอัพเดตสำหรับ Visual C++ ที่จะออกมาในเดือนหน้าด้วย

Tags:
Node Thumbnail

โครงการชุดคอมไพเลอร์โอเพนซอร์ส LLVM มีคอมไพเลอร์ภาษา C/C++/Objective-C ชื่อว่า Clang ที่ถูกใช้งานอย่างแพร่หลาย ปกติแล้ว Clang ทำงานบนระบบปฏิบัติการสายยูนิกซ์ แต่ก็สามารถใช้บนวินโดวส์ได้ด้วย

ล่าสุด Clang ได้ผู้สนับสนุนรายใหม่คือ "ไมโครซอฟท์" ที่ปกติแล้วใช้ Visual C++ ของตัวเองเสมอมา (Clang เริ่มพัฒนาโดยแอปเปิล แต่ปัจจุบันดูแลโดยชุมชน)

นโยบายใหม่ของไมโครซอฟท์มาจาก การเปิดให้ Visual Studio คอมไพล์โค้ดจาก Android/iOS ทำให้ไมโครซอฟท์จำเป็นต้องหาคอมไพเลอร์ที่ทำงานบนแพลตฟอร์มอื่นๆ ได้ด้วย ซึ่ง Clang ก็มารับบทนี้

ไมโครซอฟท์อธิบายการทำงานของการคอมไพล์เป็นแผนภาพด้านล่าง

Tags:
Node Thumbnail

นักพัฒนาของ LLVM คู่แข่ง GCC (อ่านรายละเอียดได้ในข่าวเก่า) ได้ประกาศเปิดตัว LLVM 3.3 ที่รองรับภาษา C++11 อย่างเป็นทางการ โดย frontend ของ LLVM ที่ใช้คอมไพล์ภาษา C/C++ ชื่อ Clang จะรองรับ AArch64 (ชื่อในกลุ่ม open-source ของ ARMv8), AMD R600 GPU, S390 และบางส่วนของ IBM System Z โดยนักพัฒนาได้กล่าวว่า LLVM 3.3 นี้เป็น "คอมไพเลอร์ที่รองรับมาตรฐาน C++11 รวมทั้งไลบราลี่สำคัญ ๆ ของ C++11 อย่าง std::regex"

Clang ยังมีเครื่องมือ C++11 migration เพื่อช่วยนักพัฒนาอัพเกรดโค้ดของพวกเขาเพื่อรองรับมาตรฐานใหม่อีกด้วย

Tags:
Node Thumbnail

ข่าวนี้เกี่ยวข้องกับซอฟต์แวร์ด้านคอมไพเลอร์ ศัพท์เทคนิคเฉพาะทางจะเยอะหน่อยนะครับ

เกริ่นก่อนว่าผู้อ่าน Blognone คงคุ้นเคยกับชื่อ GCC หรือ GNU Compiler Collection ซึ่งเป็นชุดซอฟต์แวร์ด้านคอมไพเลอร์สำหรับภาษาโปรแกรมต่างๆ มากมาย (ตอนแรกเน้น C/C++ เป็นหลัก) มันถูกสร้างขึ้นภายใต้โครงการ GNU และใช้สัญญาอนุญาตแบบ GPL ปัจจุบันมันเป็นคอมไพเลอร์มาตรฐานบนแพลตฟอร์มลินุกซ์และซอฟต์แวร์โอเพนซอร์สต่างๆ

แต่ GCC ไม่ใช่คอมไพเลอร์แบบโอเพนซอร์สเพียงโครงการเดียว เพราะมีโครงการคู่แข่งที่มาแรงในช่วงหลังคือ LLVM ซึ่งพัฒนามาจากโครงการวิจัยของมหาวิทยาลัย University of Illinois at Urbana–Champaign ในปี 2003

Tags:
Node Thumbnail

เทคโนโลยีการพัฒนาซอฟต์แวร์บน GPU นั้นทุกวันนี้มีสองค่ายใหญ่คือ CUDA ของ NVIDIA กับ OpenCL ที่ค่ายอื่นๆ เช่น อินเทล และเอเอ็มดี ใช้งานร่วมกัน ความเสียเปรียบอย่างหนึ่งของ CUDA คือมันเป็นเทคโนโลยีปิดของ NVIDIA เองทำให้ผู้ผลิตรายอื่นๆ ไม่สามารถเข้ามาใช้งานร่วมด้วยได้ และทาง NVIDIA ก็เลือกแก้ปัญหาด้วยการเปิดชั้นคอลไพลเลอร์ด้านล่างที่เป็น LLVM ออกมา