ห้องสมุด SIMD C ++ [ปิด]


14

ในอดีตฉันเคยใช้ Visual Studio กับห้องสมุดคณิตศาสตร์ DirectX XNA ตอนนี้ฉันใช้คอมไพเลอร์ GNU ใครสามารถให้คำแนะนำห้องสมุดคณิตศาสตร์ SIMD ด้วยเอกสารที่ดี?

คำตอบ:


15

นอกจากนี้คุณยังสามารถทำ "ตัวคุณเอง" โดยใช้คำสั่งSSE (Streaming SIMD Extensions)และไฟล์intrinsics (* mmintrin.h) ของคอมไพเลอร์ / proc ของคุณ


สอน

นี่คือตัวอย่างของวิธีการใช้คำสั่ง SSE กับชุดประกอบ:
http://neilkemp.us/src/sse_tutorial/sse_tutorial.html

และนี่คือการสอนเกี่ยวกับวิธีการใช้คำสั่ง SSE กับอินทริน:
http://www.codeproject.com/KB/recipes/sseintro.aspx

คำแนะนำการใช้ SSE SIMD ด้วย C ++:
http://sci.tuomastonteri.fi/programming/sse/printable


ข้อมูลที่เป็นประโยชน์

การอ้างอิง Intel C ++ Intrinsics (มีประโยชน์ในการรับรายการคำสั่ง):
http://cache-www.intel.com/cd/00/00/34/76/347603_347603.pdf

การสนับสนุน SSE & SSE2 ที่แท้จริงสำหรับชุดคำสั่งที่ปรับปรุงแล้วซึ่งสนับสนุนโดยโปรเซสเซอร์ Intel และ AMD (มีประโยชน์กับข้อมูลทุกประเภทที่เกี่ยวข้องกับ SSE และ SIMD):
http://msdn.microsoft.com/en-us/library/y0dh78ez%28v= vs.71% 29.aspx

รายการคำแนะนำโดยรวมและข้อมูลเกี่ยวกับ SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow เป็นต้น (รุ่นต่างๆของ SSE สำหรับสถาปัตยกรรม proc ที่แตกต่างกัน):
http://softpixel.com/~cwright/programming/simd/sse.php


หากคุณต้องการกรอบพีชคณิตเชิงเส้นฉันเกี่ยวกับ Eigen:
http://eigen.tuxfamily.org/
http://eigen.tuxfamily.org/index.php?title=FAQ#Vectorization (เกี่ยวกับการสนับสนุน SIMD)

และสุดท้ายถ้าคุณต้องการคำตอบเพิ่มเติมเกี่ยวกับ C ++ SIMD กรอบนี่คือการเชื่อมโยง StackOverflow (กรอบ C + SSE SIMD):
/programming/4953121/c-sse-simd-framework


ขอบคุณ แต่ฉันไม่มีเวลาทำกิจวัตรมากมาย
itun

อาจเป็นครั้งต่อไปมันไม่ยากอย่างที่ดูเหมือนว่า;) อย่างไรก็ตามฉันได้เพิ่มลิงก์จำนวนน้อยที่ด้านล่างซึ่งอาจช่วย
Valkea

คำตอบที่เรียบร้อย คณิตศาสตร์ SIMD คือความสนุก ฉันจำวันที่ฉันใช้ SSE เพื่อเร่งการเรย์ทริน แต่ทำไมการเล่นของเล่นเล็ก ๆ น้อย ๆ ถ้าเรามี GPGPU ตอนนี้ :)
Notabene


1

โดย seraching เล็กน้อยฉันคิดว่าคุณสามารถใช้ห้องสมุดคณิตศาสตร์ของ bullet, bullet ตัวเองเป็นเครื่องมือฟิสิกส์ opensource และดูเหมือนว่าจะมีห้องสมุดคณิตศาสตร์ที่มีประสิทธิภาพด้านข้าง นี่เป็นทางลัดไปยังลิงค์ดาวน์โหลดhttp://sourceforge.net/projects/bullet/files/SIMD%20and%20amp_%20Vector%20Math%20library/simd%20math%201.02%20and%20vector%20math%201.01/simdvectormath.tgz / ดาวน์โหลด


ฉันเห็นมัน แต่วิธีการรวบรวมมันฉันไม่เข้าใจ
itun

3
แทนที่จะทิ้งลิงค์ดาวน์โหลดบางทีลิงค์ไปยังเว็บไซต์จริงที่มีเอกสารอ้างอิง wiki และ API อาจมีประโยชน์มากกว่า bulletphysics.org
บ๊อบซอมเมอร์

@Bob ฉันแค่ต้องการแสดงลิงค์ดาวน์โหลดเพราะมันใช้เวลาพอสมควรในการค้นหาsimdvectormathไฟล์เฉพาะในไฟล์ bullet
Ali1S232


0

AMD มีโครงการโอเพนซอร์ซ SSEPlusแม้ว่าฉันจะไม่เคยใช้มันดังนั้นฉันจึงไม่สามารถให้ความเห็นเกี่ยวกับคุณภาพหรือการบังคับใช้


0

แม้ว่าจะไม่ได้มุ่งเน้นไปที่การใช้ SIMD อย่างแน่นอน แต่ฉันพบว่าglmเป็นห้องสมุดคณิตศาสตร์อเนกประสงค์ที่ดีมากเมื่อพูดถึงเกม ไม่รองรับการฝึกอบรมตามอำเภอใจและสิ่งที่ชอบ แต่ก็มีคุณสมบัติที่มีความคล่องตัวที่จะใช้กับกราฟิก 3D และมีคุณสมบัติในการเปิดใช้งาน SSE เช่นเดียวกับการใช้อัลกอริทึมทั่วไปที่รวดเร็วขึ้น

ในขณะที่มันถูกออกแบบมาโดยเฉพาะเพื่อใช้กับ OpenGL ฉันพบว่ามันมีประโยชน์มากสำหรับงานที่หลากหลาย มันใช้ตัวดำเนินการโอเวอร์โหลดอย่างมากซึ่งทำให้ง่ายต่อการใช้งานและบำรุงรักษาโค้ดที่ใช้งาน

มันขึ้นอยู่กับภาษา OpenGL GLSL ซึ่งมีเอกสารที่แข็งแกร่งมากและมีความแตกต่างใด ๆ ที่เป็นเอกสารเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.