คำถามติดแท็ก hpc

คอมพิวเตอร์ประสิทธิภาพสูงโดยทั่วไปจะใช้อาร์เรย์ของคอมพิวเตอร์ขนาดใหญ่ที่เชื่อมต่อในคลัสเตอร์หรือกริด

12
C ++ vs Fortran สำหรับ HPC
ในโปรแกรมปริญญาเอกวิทยาศาสตร์การคำนวณของเราเราทำงานเกือบเฉพาะใน C ++ และ Fortran ดูเหมือนว่าอาจารย์บางคนชอบมากกว่าคนอื่น ฉันสงสัยว่าอันไหนดีกว่าหรือในอันใดอันหนึ่งดีกว่าในบางกรณี
56 hpc  fortran  c++  languages 

7
ฉันควรลงทุนในกระบวนทัศน์การเขียนโปรแกรมใดหากฉันต้องการให้โค้ดของฉันทำงานบนเครื่อง petascale ในอนาคต
มันสวยชัดเจนจากการสำรวจความคิดเห็นของ top500 ที่อุตสาหกรรมมีแนวโน้มต่อเพิ่มขึ้นชี้แจงในแกนประมวลผล ซูเปอร์คอมพิวเตอร์ที่ใหญ่ที่สุดทั้งหมดใช้ MPI สำหรับการสื่อสารระหว่างโหนดแม้ว่าจะไม่มีแนวโน้มที่ชัดเจนสำหรับการขนานบนโหนดด้วยวิธีที่ง่ายที่สุด (แต่ไม่จำเป็นต้องมีประสิทธิภาพมากที่สุด) ในการทำแผนที่กระบวนการ MPI เดียวกับแต่ละแกนโดยอัตโนมัติ การขนานจากคอมไพเลอร์, OpenMP, pthreads, CUDA, Cilk และ OpenCL ฉันเป็นหนึ่งในกลุ่มนักวิทยาศาสตร์ที่ดูแลและพัฒนารหัสที่มีศักยภาพที่จะใช้กับซุปเปอร์คอมพิวเตอร์ที่ใหญ่ที่สุดในโลก สมมติว่านักพัฒนามีเวลา จำกัด ฉันจะพิสูจน์ตัวเองในอนาคตเพื่อให้ฉันสามารถใช้ประโยชน์จากประสิทธิภาพของเครื่องจักรที่ทรงพลังที่สุดในโลกได้อย่างไร ฉันควรทำสมมติฐานเกี่ยวกับสถาปัตยกรรมที่เชื่อมต่อระหว่างกระบวนการอย่างไร กระบวนทัศน์อะไรที่จะต้องทนทุกข์ทรมานเมื่อเราเข้าสู่ยุคที่มีหลายคน พาร์ทิชันภาษาสากลที่อยู่ในพื้นที่ว่างจะพร้อมใช้งาน "ในการผลิต" บนเครื่อง petascale หรือไม่?

7
เป็นความคิดที่ดีหรือไม่ที่จะใช้ vector <vector <double>> เพื่อสร้างคลาสเมทริกซ์สำหรับรหัสการคำนวณทางวิทยาศาสตร์ที่มีประสิทธิภาพสูง?
มันเป็นความคิดที่ดีที่จะใช้vector&lt;vector&lt;double&gt;&gt;(ใช้ std) เพื่อสร้างคลาสเมทริกซ์สำหรับรหัสการคำนวณทางวิทยาศาสตร์ที่มีประสิทธิภาพสูงหรือไม่? ถ้าคำตอบคือไม่ ทำไม? ขอบคุณ
36 hpc  c++ 

1
CUDA เทียบกับ OpenCL ปลายปี 2556
CUDA และ OpenCL เปรียบเทียบกันอย่างไรเมื่อปลายปี 2013 จากมุมมองของโปรแกรมเมอร์ กลุ่มของฉันคิดว่าจะพยายามใช้ประโยชน์จากการคำนวณด้วย GPU เราจะ จำกัด ตัวเองอย่างมากด้วยการเลือกฮาร์ดแวร์ที่รองรับ OpenCL แต่ไม่ใช่ CUDA หรือไม่ หากต้องการระบุให้ชัดเจนยิ่งขึ้นสมมติฐานต่อไปนี้ถูกต้องหรือไม่ ทุกสิ่งที่เป็นไปได้ใน CUDA ก็เป็นไปได้เช่นกันใน OpenCL ตราบใดที่เราไม่ได้ใช้ห้องสมุดงานที่กำหนดก็ไม่ง่ายอย่างที่คิด (หรือยากกว่า) ที่จะทำในสิ่งใดสิ่งหนึ่ง ข้อได้เปรียบหลักของ CUDA คือความพร้อมใช้งานของไลบรารี ทั้งสองมีการสนับสนุนที่ดีสำหรับแพลตฟอร์มหลักทั้งสาม (Win / OSX / Linux)
34 hpc  gpu  cuda  opencl 

5
การสร้างคลัสเตอร์ในคลาวด์ราคาถูกกว่าการสร้างคลัสเตอร์ในห้องทดลองสำหรับการจำลอง MD เมื่อใด
คลัสเตอร์การคำนวณ Amazon EC2 มีค่าใช้จ่ายประมาณ$ 800 - $ 1,000 (ขึ้นอยู่กับวัฏจักรหน้าที่) ต่อคอร์ CPU จริงในระยะเวลา 3 ปี ในการซื้อฮาร์ดแวร์รอบสุดท้ายของเราห้องปฏิบัติการของฉันได้รับ 48 คอร์มูลค่าของฮาร์ดแวร์คล้ายกับคลัสเตอร์ของ Amazon ราคาประมาณ $ 300 ต่อแกน ฉันทำอะไรบางอย่างหายไปหรือเปล่า มีสถานการณ์ใดบ้างไหมที่เหมาะสมที่จะสร้างคลัสเตอร์ในคลาวด์สำหรับงานซีพียูระดับสูงเช่นการจำลองพลวัตของโมเลกุล? หรือฉันมักจะดีกว่าแค่สร้างและเลี้ยงลูกด้วยตนเองที่เครื่องแดงด้วยตัวเอง? (ฉันควรพูดถึงว่าห้องปฏิบัติการของฉันไม่ได้จ่ายค่าไฟฟ้าในห้องเซิร์ฟเวอร์ของเรา (อย่างน้อยก็ไม่ได้โดยตรง) แต่ถึงแม้จะมีประโยชน์นี้อเมซอนก็ยังมีราคาแพงมาก)

6
อนาคตของ OpenCL
กระบวนทัศน์การเขียนโปรแกรม OpenCL สัญญาว่าจะปลอดค่าลิขสิทธิ์เปิดมาตรฐานสำหรับการคำนวณที่แตกต่างกัน เราควรลงทุนเวลาในการพัฒนาซอฟต์แวร์โดยใช้ OpenCL หรือไม่ ข้อเสียข้อดี?

3
Intel Fortran Compiler: เคล็ดลับในการเพิ่มประสิทธิภาพที่รวบรวม
ฉันจะเริ่มต้นด้วยประสบการณ์ส่วนตัวในห้องแล็บของเรา ย้อนกลับไปใน ifort 9 และ 10 วันเราเคยก้าวร้าวมากกับการปรับให้เหมาะสมรวบรวมด้วยแฟล็ก -O3 และตัวประมวลผลเฉพาะ (-xW -xSSE4.2 เป็นต้น) แต่เริ่มต้นด้วย ifort 11 เราเริ่มสังเกตเห็น: 1. ความไม่สอดคล้องกันบางอย่างในผลลัพธ์ (เพราะซีแมนทิกส์ไม่ได้รับการเก็บรักษาไว้) 2. กำไรเล็กลงเมื่อเทียบกับ -O2 ดังนั้นในปัจจุบันเรามักจะคอมไพล์ด้วย -O2 และ -xhost คุณมีคำแนะนำที่ดีกว่าสำหรับ ifort 11 หรือไม่ การเปลี่ยนแปลงนี้จะเกิดขึ้นอีกครั้งเมื่อเราเปลี่ยนเป็น ifort 12 หรือไม่ ขอบคุณล่วงหน้า.

5
การพัฒนาซอฟต์แวร์คำนวณทางวิทยาศาสตร์แบบขนาน
ฉันต้องการพัฒนาซอฟต์แวร์การคำนวณทางวิทยาศาสตร์แบบขนานตั้งแต่เริ่มต้น ฉันต้องการความคิดเกี่ยวกับภาษาที่จะเริ่มต้น โปรแกรมนี้เกี่ยวข้องกับการอ่าน / เขียนข้อมูลไปยังไฟล์ txt และทำการคำนวณอย่างหนักพร้อม ๆ กันโดยมี factorizations LU จำนวนมากและการใช้ตัวแก้ปัญหาเชิงเส้นแบบกระจัดกระจาย ทางเลือกที่ฉันคิดคือ Fortran 2003/2008 กับ OpenMP หรือ co-array, C ++ กับ openmp cilk + หรือ TBB, python ข้อเสนอแนะอื่น ๆ เอกสารยินดีต้อนรับ! ฉันรู้ดีมาก C, Fortran และ Java (ตามลำดับ) ฉันได้ทำสคริปต์บางอย่างในหลาม แต่เป็นสิ่งพื้นฐาน ฉันรู้ว่าฟอร์แทรนนั้นเร็วมาก แต่ยากที่จะรักษาและขนานกัน C ++ บอกว่าช้าถ้าคุณใช้ไลบรารี่ภายนอกและอื่น ๆ ฉันชอบไพ ธ อน แต่เป็นเรื่องจริงไหมที่จะเขียนซอฟต์แวร์ระดับอุตสาหกรรมเต็มรูปแบบ? ซอฟต์แวร์ต้องสามารถจัดการข้อมูลจำนวนมากและมีประสิทธิภาพด้วยการคำนวณทางวิทยาศาสตร์ …

4
ปัจจุบัน GPU ที่มีอยู่รองรับเลขคณิตทศนิยมแม่นยำสองเท่าหรือไม่?
ฉันเรียกใช้รหัสโมเลกุล (MD) GROMACSในคลัสเตอร์ Ubuntu Linux ซึ่งประกอบด้วยโหนดที่มี CPU Intel 24 Xeon จุดสนใจของฉันค่อนข้างจะอ่อนไหวต่อความแม่นยำในการคำนวณจุดลอยดังนั้นฉันต้องรัน GROMACS ด้วยความแม่นยำสองเท่าแทนที่จะใช้ความแม่นยำเดียว - แม้จะมีค่าใช้จ่ายในการคำนวณที่สูงกว่าความแม่นยำสองเท่า ดังนั้นในคลัสเตอร์ฉันได้รวบรวม GROMACS ด้วยความแม่นยำสองเท่า ฉันกำลังพิจารณาที่จะซื้อ GPU บางตัวเนื่องจากอาจมีการเร่งความเร็วญาติ ("การเร่งความเร็ว GPU") กับซีพียู อย่างไรก็ตามฉันต้องการ GPU ที่จะทำให้ฉันสามารถคำนวณเลขคณิตความแม่นยำสองเท่าได้ คุณรู้หรือไม่ว่าฮาร์ดแวร์ดังกล่าวมีวางจำหน่ายทั่วไป โพสต์ล่าสุดบน GROMACS รายชื่อผู้รับจดหมายแสดงให้เห็นว่า GPUs แม่นยำสองจะไม่สามารถใช้ได้ในเชิงพาณิชย์: ฮาร์ดแวร์ไม่รองรับ [เลขคณิตความแม่นยำสองเท่า] แต่ AFAIK นี้หน้าวิกิพีเดียดูเหมือนจะชี้ให้เห็นว่า GPUs แม่นยำสองมีการผิดปกติเนื่องจากพวกเขาอาจจะไม่มีประสิทธิภาพ: การนำไปใช้งานของ floating point บน Nvidia GPU นั้นเป็นไปตามมาตรฐาน IEEE; อย่างไรก็ตามสิ่งนี้ไม่เป็นความจริงสำหรับผู้ขายทุกราย สิ่งนี้มีความเกี่ยวข้องกับความถูกต้องซึ่งถือว่ามีความสำคัญต่อการประยุกต์ใช้ทางวิทยาศาสตร์ …

3
พล็อตการปรับขนาด / การบันทึกแบบขนานของล็อก - ล็อก
งานของฉันจำนวนมากหมุนรอบการทำให้อัลกอริธึมขยายขนาดได้ดีขึ้นและหนึ่งในวิธีที่ต้องการในการแสดงการปรับสเกลแบบขนานและ / หรือประสิทธิภาพแบบขนานคือการพล็อตประสิทธิภาพของอัลกอริทึม / รหัสบนจำนวนแกนเช่น โดยที่ -axis แสดงถึงจำนวนแกนและy -axis ตัวชี้วัดบางตัวเช่นงานที่ทำต่อหน่วยเวลา เส้นโค้งที่แตกต่างกันแสดงประสิทธิภาพแบบขนานที่ 20%, 40%, 60%, 80% และ 100% ที่ 64 แกนตามลำดับxxxYYy แต่น่าเสียดายที่แม้ว่าในสิ่งพิมพ์หลายผลเหล่านี้มีพล็อตที่มีการเข้าสู่ระบบเข้าสู่ระบบการปรับเช่นผลลัพธ์ในนี้หรือนี้กระดาษ ปัญหาของแผนการบันทึกการใช้งานเหล่านี้คือมันยากที่จะประเมินค่า / ประสิทธิภาพขนานจริงอย่างไม่น่าเชื่อ ซึ่งเป็นพล็อตเดียวกับด้านบน แต่ยังมีการปรับขนาดบันทึกการทำงาน โปรดทราบว่าขณะนี้ไม่มีความแตกต่างอย่างมากระหว่างผลลัพธ์ที่มีประสิทธิภาพแบบขนาน 60%, 80% หรือ 100% ผมเคยเขียนบิตอย่างกว้างขวางมากขึ้นเกี่ยวกับเรื่องนี้ที่นี่ ดังนั้นนี่คือคำถามของฉัน: มีเหตุผลอะไรบ้างที่แสดงผลลัพธ์ในการปรับขนาดบันทึกการทำงาน ฉันใช้มาตราส่วนแบบเส้นตรงเพื่อแสดงผลลัพธ์ของตัวเองเป็นประจำและใช้ค้อนทุบโดยผู้ตัดสินบอกว่าผลการวัด / ประสิทธิภาพแบบขนานของตัวเองไม่ได้ดูดีเท่าผลการบันทึก (log-log) ของผู้อื่น แต่สำหรับชีวิตของฉันฉัน ไม่เห็นว่าทำไมฉันจึงควรเปลี่ยนรูปแบบการพล็อต

5
สถานะของ Mac OS ใน Scientific Computing และ HPC
กลับไปสู่รุ่งอรุณของ OS X ดูเหมือนว่าจะมี hubbub เป็นจำนวนมากอย่างน้อยก็ในโลก Mac (ตอนนี้ฉันไม่ได้อยู่ใกล้การคำนวณทางวิทยาศาสตร์) เกี่ยวกับ Mac OS เป็นแพลตฟอร์มสำหรับการคำนวณทางวิทยาศาสตร์และแอปพลิเคชัน HPC XGrid ออกมาจากกล่องเวอร์จิเนียเทคมีกลุ่มคอมพิวเตอร์ที่ใช้ Mac ที่หรูหราสแตนฟอร์ดกำลังทำสิ่งดีๆ ฯลฯ อย่างไรก็ตามเมื่อเร็ว ๆ นี้สิ่งต่าง ๆ เงียบสงบ ไซต์ Macresearch.org นั้นเป็นเมืองผีที่เต็มไปด้วยซอมบี้สแปมเมอร์ XServe นั้นตายไปแล้วและวรรณกรรมการตลาดที่น่ากลัวมากมาย แต่ XGrid ยังคงอยู่ที่นั่นระบบปฏิบัติการ * nix ทั้งหมดอยู่ที่นั่นและแพลตฟอร์มดูเหมือนว่าจะมีการสนับสนุนที่ดีระหว่าง Python, R และภาษาใหม่บางภาษา ดังนั้นจากคนที่รู้เรื่องนี้มากกว่าที่ฉันทำ ... อัตราค่าโดยสาร OS X เป็นอย่างไร พวกเขาใช้คอมพิวเตอร์ฝั่งไคลเอ็นต์สำหรับการคำนวณทางวิทยาศาสตร์หรือไม่? ใช้มันเป็นเซิร์ฟเวอร์ / คลัสเตอร์ / ฯลฯ ผ่าน …
17 software  hpc 

3
ซอฟต์แวร์เดสก์ท็อปที่มีทรัพยากร HPC สำหรับการบีบอัดหมายเลขท้ายหลัง
เวิร์กกรุ๊ปของเราผลิตแอปพลิเคชันเดสก์ท็อปที่จำลองการสร้างประสิทธิภาพการใช้พลังงาน มันเป็นแอปพลิเคชั่น. NET และเมื่อผู้ใช้เรียกใช้การจำลองจำนวนมากพวกเขาอาจต้องใช้เวลาค่อนข้างนาน การจำลองมีความสามารถในการขนานกันโดยสิ้นเชิงและเรามีทรัพยากรการคำนวณHPC ที่สำคัญมากที่ "สำนักงาน" แนวคิดหนึ่งที่เรามีคือการอนุญาตให้ผู้ใช้ออฟโหลดการจำลองที่เรารู้ว่าจะใช้เวลานานมาก (ในขณะที่การจำลองแต่ละตัวทำงานประมาณ 30-120 วินาทีการรันการจำลองจำนวนมากอาจใช้เวลาหลายวัน) มีใครทำแบบนี้มาก่อนหรือไม่ ถ้าเป็นเช่นนั้นคุณใช้ห้องสมุดใด ๆ เพื่อทำให้งานง่ายขึ้นหรือไม่? มันคุ้มค่ากับความพยายามหรือไม่? แก้ไขเพื่อเพิ่ม: แต่ละงานสำหรับการถ่ายจำลองจะเป็น บรรจุไฟล์ (ประมาณ 5Mb) อัปโหลดไปยังเซิร์ฟเวอร์ของเรา การย่อยสลายแพคเกจเป็นแบบจำลองส่วนบุคคล (แต่ละครั้งใช้เวลาประมาณ 30-120 วินาทีและขนานกันโดยสิ้นเชิง) จำนวนของแบบจำลองเป็นฟังก์ชั่นของจำนวนตัวเลือกที่เลือกโดยผู้ใช้ (ฉนวนกันความร้อนการวางแนวอาคาร ฯลฯ ) และกรณีที่เลวร้ายที่สุดในการเลือก ทุกตัวเลือกที่เป็นไปได้จะส่งผลให้เกิดการจำลอง 1E50 ไม่รู้จักการเรียกใช้การจำลอง 100 ถึง ~ 1E5 แต่ผู้ใช้ส่วนใหญ่จะทำงานน้อยกว่า 10 ประกอบชิ้นส่วนจำลองที่เสร็จสมบูรณ์แล้วและดาวน์โหลดไฟล์ที่มีขนาดใหญ่ขึ้นในขณะนี้ เราไม่แน่ใจว่าอินเทอร์เฟซใดที่จะใช้เนื่องจากกลุ่มของเรายังใหม่กับสิ่งนี้และด้วยการลดงบประมาณมันอาจจะเสร็จสมบูรณ์ในเวลา แต่ต้องง่ายต่อการดูแลรักษาคนต่อไป (ถ้ามี) แอพนี้ใช้. NET 4 อยู่แล้วและสามารถขยายเพื่อใช้คอร์ทั้งหมดที่ผู้ใช้มี (เครื่อง dev …
17 hpc  partitioning 

4
ฉันควรเช่าทรัพยากรคอมพิวเตอร์หรือซื้อคอมพิวเตอร์ของตัวเอง
เนื่องจากคำถามนี้เกี่ยวข้องกับการคำนวณฉันจึงตัดสินใจโพสต์ที่นี่ หวังว่ามันจะถูกมองว่าเหมาะสม ฉันเพิ่งเริ่มใช้โมเดลบรรยากาศและมหาสมุทรและฉันรู้ว่าฉันต้องการแกนหน่วยความจำและพื้นที่ดิสก์มากกว่าเดสก์ท็อปปัจจุบันของฉัน สถาบันของฉันมีบริการคำนวณประสิทธิภาพสูงที่นักวิจัยสามารถเช่าแกนในราคาคงที่ต่อหนึ่งคอร์ต่อเดือน ไม่มีใครในกลุ่มการวิจัยของฉันได้ใช้บริการนี้ แต่แทนที่จะใช้งานเครื่องทำให้อ้วนขึ้น อย่างไรก็ตามกลุ่มวิจัยอื่น ๆ ในกลุ่มกองทุนรวมและใช้ประโยชน์จากบริการคอมพิวเตอร์ ตอนนี้ฉันต้องตัดสินใจว่าจะซื้อเครื่องใหม่ที่มี RAM 60 GB หรือเช่าแกนจากบริการคอมพิวเตอร์ ฉันควรพิจารณาปัจจัยใดในการตัดสินใจนี้ ข้อดีของการใช้บริการคอมพิวเตอร์มากกว่าการซื้อเครื่องเฉพาะคืออะไร
16 hpc 

2
Boost :: mpi หรือ C MPI สำหรับการใช้งานทางวิทยาศาสตร์ที่มีประสิทธิภาพสูง?
สิ่งที่ฉันไม่ชอบมากที่สุดเกี่ยวกับ MPI คือการจัดการกับประเภทข้อมูล (เช่น data maps / masks) เพราะมันไม่เหมาะกับ object เชิง C ++ boost::mpiอย่างไรก็ตามรองรับ MPI 1.1 จากเว็บไซต์ของพวกเขาเท่านั้น: boost :: mpi เป็นอินเทอร์เฟซที่ใช้งานง่ายของ C ++ ไปยังอินเตอร์เฟสการส่งข้อความมาตรฐาน… Boost.MPI สามารถสร้างประเภทข้อมูล MPI สำหรับประเภทที่ผู้ใช้กำหนดโดยใช้ไลบรารี Boost.Serialization มีใครมีประสบการณ์เกี่ยวกับboost::mpiการคำนวณทางวิทยาศาสตร์อย่างจริงจังบ้างไหม? คุณจะแนะนำหรือไม่ คุณเคยมีปัญหาใด ๆ (ปัญหาการปรับขนาด, ปัญหาคอมไพเลอร์, ข้อผิดพลาด, คุณสมบัติที่ไม่ได้ใช้งาน, ความต้องการคุณสมบัติ MPi 2.2 บางส่วน) หรือไม่? คุณสามารถแสดงความคิดเห็นเกี่ยวกับการใช้boost::mpiแทนการใช้ MPI C จาก C ++ ได้หรือไม่? คุณสามารถรวมทั้งสอง …
16 hpc  c++  mpi 

3
ฉันควรศึกษาการสร้างและการเขียนโปรแกรมระบบ HPC อย่างไร
ฉันอยู่ในสาขาที่ไม่จำเป็นต้องทำงาน HPC เป็นอย่างมากและเมื่อมันพบมันมักจะเป็นผลมาจากนักวิจัยจากสาขาอื่นที่สำรวจแอพพลิเคชั่นใหม่ ๆ กับวิธีการของพวกเขาและสิ่งที่คล้ายกัน ในขั้นต้นสิ่งนี้หมายความว่ามันไม่เคยได้รับการแนะนำในหลักสูตรการศึกษาหรือได้รับการฝึกอบรมการสัมมนาและสิ่งที่คล้ายกัน - มันเป็นไปได้ที่จะไปประกอบอาชีพทั้งหมดโดยไม่จำเป็นต้องใช้มัน อย่างไรก็ตามในเวลาเดียวกันฉันก็สามารถทำงานได้มากรับประโยชน์จากการใช้ทรัพยากร HPC ให้ฉันดีขึ้น - ส่วนใหญ่อยู่ในรูปแบบของการจำลอง Monte Carlo แบบขนานอย่างดี ปัญหาของฉันคือการค้นหาแหล่งข้อมูลเพื่อการเรียนรู้วิธีการใช้กลุ่ม MPI ฯลฯ และแยกความดีออกจากความเลวเพราะฉันไม่รู้มาก มีข้อเสนอแนะใด ๆ สำหรับหนังสือเกี่ยวกับการเขียนโปรแกรมในระบบประเภทนี้หรือในการตั้งค่าและใช้งานการตั้งค่า HPC ที่เรียบง่ายของตัวเอง?
16 hpc  education 

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