ขณะนี้ฉันมีโค้ดจำลองที่มีขอบเขตจำกัดในไพ ธ อนที่ใช้mpi4pyเพื่อค้นหาวิธีแก้ปัญหาสูงสุดในทุกเธรดดังที่แสดง:

max_T = max(T.vector())
MPI.COMM_WORLD.barrier()
max_T = mesh.mpi_comm().allreduce(max_T, op=MPI.MAX)

Tวิธีแก้ปัญหาที่ฉันคำนวณอยู่ที่ไหน อย่างไรก็ตาม การทำเช่นนี้จะทำให้ค่าผิดปกติปรากฏขึ้นเป็นค่า 'จริง' ของTแม้ว่าเธรดอื่นๆ ทั้งหมดจะเฉลี่ยออกมาเป็นค่าที่ต่ำกว่ามาก ดังนั้นฉันต้องการคำนวณค่าเฉลี่ยของทุกเธรดแล้วส่งออกเป็นค่าของmax_T. สิ่งนี้สามารถทำได้อย่างไร?

ไม่พบคำตอบ