ปัจจุบัน GPU ที่มีอยู่รองรับเลขคณิตทศนิยมแม่นยำสองเท่าหรือไม่?


17

ฉันเรียกใช้รหัสโมเลกุล (MD) GROMACSในคลัสเตอร์ Ubuntu Linux ซึ่งประกอบด้วยโหนดที่มี CPU Intel 24 Xeon จุดสนใจของฉันค่อนข้างจะอ่อนไหวต่อความแม่นยำในการคำนวณจุดลอยดังนั้นฉันต้องรัน GROMACS ด้วยความแม่นยำสองเท่าแทนที่จะใช้ความแม่นยำเดียว - แม้จะมีค่าใช้จ่ายในการคำนวณที่สูงกว่าความแม่นยำสองเท่า ดังนั้นในคลัสเตอร์ฉันได้รวบรวม GROMACS ด้วยความแม่นยำสองเท่า

ฉันกำลังพิจารณาที่จะซื้อ GPU บางตัวเนื่องจากอาจมีการเร่งความเร็วญาติ ("การเร่งความเร็ว GPU") กับซีพียู อย่างไรก็ตามฉันต้องการ GPU ที่จะทำให้ฉันสามารถคำนวณเลขคณิตความแม่นยำสองเท่าได้ คุณรู้หรือไม่ว่าฮาร์ดแวร์ดังกล่าวมีวางจำหน่ายทั่วไป โพสต์ล่าสุดบน GROMACS รายชื่อผู้รับจดหมายแสดงให้เห็นว่า GPUs แม่นยำสองจะไม่สามารถใช้ได้ในเชิงพาณิชย์:

ฮาร์ดแวร์ไม่รองรับ [เลขคณิตความแม่นยำสองเท่า] แต่ AFAIK

นี้หน้าวิกิพีเดียดูเหมือนจะชี้ให้เห็นว่า GPUs แม่นยำสองมีการผิดปกติเนื่องจากพวกเขาอาจจะไม่มีประสิทธิภาพ:

การนำไปใช้งานของ floating point บน Nvidia GPU นั้นเป็นไปตามมาตรฐาน IEEE; อย่างไรก็ตามสิ่งนี้ไม่เป็นความจริงสำหรับผู้ขายทุกราย สิ่งนี้มีความเกี่ยวข้องกับความถูกต้องซึ่งถือว่ามีความสำคัญต่อการประยุกต์ใช้ทางวิทยาศาสตร์ ในขณะที่ค่าจุดลอยตัว 64- บิต (ความแม่นยำสองเท่าลอย) โดยทั่วไปมีอยู่ในซีพียูเหล่านี้ไม่ได้รับการสนับสนุนในระดับสากลบน GPUs; สถาปัตยกรรม GPU บางตัวเสียสละการปฏิบัติตามมาตรฐาน IEEE ในขณะที่คนอื่นขาดความแม่นยำสองเท่า มีความพยายามเลียนแบบค่าทศนิยมที่มีความแม่นยำสองเท่าบน GPU อย่างไรก็ตามการแลกเปลี่ยนความเร็วทำให้เกิดข้อได้เปรียบในการลดการคำนวณลงบน GPU ตั้งแต่แรก

นี้หน้า NVIDIA Teslaในการอ้างอิงถึง "จุดสุดยอดความแม่นยำสองประสิทธิภาพจุดลอย" ในแผนภูมิดูเหมือนว่าจะแนะนำว่าการคำนวณแม่นยำสองสามารถในความเป็นจริงจะทำใน GPUs ของพวกเขา (แม้ว่าค่าใช้จ่ายในการคำนวณสูงกว่า)

ดังนั้นฉันควรเชื่ออย่างไร คุณมีประสบการณ์เกี่ยวกับปัญหานี้หรือไม่?


ตรวจสอบ gtx titan มันขึ้นอยู่กับ gk110 และมีการสนับสนุนการกำหนดราคาสองเท่า ..... ถึงแม้ว่ามันจะมีราคาแพงนิดหน่อยราคาประมาณ $ 1k

วิกิพีเดียไม่ได้มีข้อมูลที่เป็นปัจจุบันเกี่ยวกับหัวข้อที่เปลี่ยนแปลงอย่างรวดเร็ว ...
Jeff

คำตอบ:


17

ความแม่นยำสองเท่าเป็นเรื่องธรรมดาสำหรับ GPU รุ่นใหม่ ตัวอย่างเช่นฉันเป็นเจ้าของ NVIDIA GTX560 Ti (ค่อนข้างต่ำเมื่อเทียบกับการคำนวณ) ที่ไม่มีปัญหาในการใช้งาน ViennaCL ในความแม่นยำสองเท่า จากที่นี่ (ส่วนที่ 4)จะปรากฏการ์ด NVIDIA ทั้งหมดจาก GTX4xx เป็นต้นไปรองรับความแม่นยำสองเท่า

ฉันเดาว่าข้อมูลของ GROMACS นั้นล้าสมัยไปแล้ว


5
ล้าสมัยมาก โดยเฉพาะอย่างยิ่งโปรเซสเซอร์ NVIDIA มีการสนับสนุนความแม่นยำสองเท่าเป็นเวลาหลายปี ตรงไปตรงมามันช้ากว่าความสามารถที่มีความแม่นยำเพียงอย่างเดียว แต่มี (และไม่ใช่แค่ลอกเลียนแบบ) ใน GPU รุ่นแรกของ Tesla และอาจเป็นไปได้ก่อนหน้านั้น แปลงล่าสุดได้ลดช่องว่างระหว่างสัญญาณและการสนับสนุนความแม่นยำสองเท่า
Michael Grant

ใช่กระดาษที่ฉันเชื่อมโยงตัวเลขที่กล่าวถึงประมาณ 8 เท่าของประสิทธิภาพที่แตกต่างกันเมื่อต้องการการจำลอง แต่ตอนนี้ชิปได้รับการออกแบบมาแล้วมันใกล้เคียงกับปัจจัยที่ 2 ฉันอยากจะบอกว่านี่น่าจะเป็นเพราะ เวลาแฝงของหน่วยความจำการ์ดจาก VRAM ไปยังโปรเซสเซอร์ แต่นั่นเป็นเพียงการเดาในส่วนของฉัน
Godric Seer

จริงๆแล้วเหตุผลหลักคือ GPU รุ่นก่อนนั้นไม่ได้ใช้พื้นที่ชิปมากนักในการคำนวณที่มีความแม่นยำสองเท่า ตามหน้านี้ซีรี่ส์ GK110 มีหน่วยความแม่นยำสองเท่าจำนวน 8 เท่าต่อ "SMX block" (อะไรก็ตามที่มีความหมาย) กว่าซีรีย์ GK104
Michael Grant

1
อ่าใช่ฉันหมายถึงความแตกต่างของ GPU ในปัจจุบันที่เกี่ยวกับความคิดเห็นแบนด์วิดท์หน่วยความจำ 2x
Godric Seer

Gotcha ฉันไม่ได้ตั้งใจลงหลุมกระต่ายนี้ คำตอบของคุณก็โอเคซึ่งเป็นเหตุผลที่ฉันแสดงความคิดเห็นและโหวตให้คุณแทนการเพิ่มคำตอบของฉันเอง ;-)
Michael Grant

8

GPU ทุกตัวที่ใช้ SM 1.3 (Tesla / GTX2xx) หรือดีกว่านั้นรองรับฮาร์ดแวร์ที่มีความแม่นยำสองเท่า เริ่มต้นด้วยสถาปัตยกรรม Fermi ตัวแปร Quadro และ Tesla มีการรองรับความแม่นยำสองเท่าที่ดีกว่ารุ่น Ge Force ของผู้บริโภค

สิ่งที่แปลกคือการสนับสนุนความแม่นยำสองเท่าของ Ge Force Kepler / GTX6xx นั้นด้อยกว่าการรองรับ GeForce Fermi / GTX5xx เพื่อปรับปรุงความแตกต่างของ Tesla ใน Kepler K20 / K20x เมื่อรวมกับความแปลกใหม่แล้ว Tesla K10 ก็มีการรองรับความแม่นยำสองระดับของ Ge Force และเมื่อไม่นานมานี้สิ่งนี้ได้ถูกทำให้ยุ่งเหยิงอย่างสมบูรณ์โดยการเปิดตัว Ge Force GTX Titan ซึ่งมีการรองรับความเที่ยงตรงสองเท่าเต็มรูปแบบและคุณสมบัติ CUDA มากมายที่มีอยู่ในรุ่นเทสลาเท่านั้นจนถึงปัจจุบัน GTX Titan มีราคาประมาณ $ 1,000 - IMO ที่ต่อรองราคาตะโกน


2

นอกจากนี้คุณควรอ่านโพสต์ติดตามจาก GROMACS รายการทางไปรษณีย์: http://lists.gromacs.org/pipermail/gmx-users/2013-April/080604.html การใช้งาน GPU ใน MD นั้นสนับสนุนการใช้ความแม่นยำสองเท่าหรือไม่ในระดับที่เทียบเคียงได้นั้นมีความสำคัญไม่น้อยไปกว่าฮาร์ดแวร์ที่มีความแม่นยำสองเท่า


0

จากการสนทนานี้ GPU ของ Tesla และ Titan นั้นเหมาะสมที่สุด (จาก Nvidia GPUs) เพื่อความแม่นยำสองเท่า

ค้นหาตัวอย่างของรายการ Nvidia GPUs บน Wikipedia (ตารางที่คล้ายกันสำหรับ GPU AMD อยู่ที่นี่ ) และเปรียบเทียบพลังการประมวลผลความแม่นยำเดียวและสองครั้ง (ในแง่ของ GFLOPs) เราเห็นว่าประสิทธิภาพความแม่นยำสองเท่านั้นเล็กกว่าครึ่งหนึ่งอย่างแม่นยำ ประสิทธิภาพสำหรับ GPU อื่น ๆ ส่วนใหญ่ ตัวอย่างเช่นสำหรับซีรี่ส์ GTX 900 บทความระบุว่าประสิทธิภาพความแม่นยำสองเท่าคือ1/32ของประสิทธิภาพความแม่นยำเดียวในขณะที่บทความ Wikipedia นี้บอกว่าสำหรับ GTX 700 series ประสิทธิภาพความแม่นยำสองเท่าคือ1/24ของความแม่นยำเดียว ประสิทธิภาพ (ยกเว้นไททันซึ่งสามารถสูงถึง1/3ของประสิทธิภาพความแม่นยำเดียว)

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