ขณะนี้ฉันมีโค้ดจำลองที่มีขอบเขตจำกัดในไพ ธ อนที่ใช้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
. สิ่งนี้สามารถทำได้อย่างไร?