override public void after_initialize() { // Inicializar o comunicador MPI. comm = this.Communicator; size_reducers = this.UnitSize["source"]; rank_reducers = this.UnitRanks["source"]; }
} = 1000 * 60; // one minute public static void Initialise(MPI.Intracommunicator c, bool preserveTimeline = false) { comm = c; if (preserveTimeline) { records = new List <SpanRecord>(); } }
//MPI.RequestList requestList; //List<MPI.Request> requests; override public void after_initialize() { // Inicializar o comunicador MPI. comm = this.Communicator; // Lista de requisições para controlar o progresso da comunicação. //requestList = new MPI.RequestList(); }
private void mpi_start() { string[] args = System.Environment.GetCommandLineArgs(); mpi = new MPI.Environment(ref args); worldcomm = MPI.Communicator.world; np = worldcomm.Size; node = worldcomm.Rank; ntdivnp = ((nx * ny) / np) * nz; }
private void mpi_start() { string[] args = System.Environment.GetCommandLineArgs(); mpi = new MPI.Environment(ref args); worldcomm = MPI.Communicator.world; //call MPI_INIT(IERROR) num = worldcomm.Size; //call MPI_COMM_SIZE(MPI_COMM_WORLD, num, IERROR) node = worldcomm.Rank; //call MPI_COMM_RANK(MPI_COMM_WORLD, id, IERROR) ndim = nodedim(num); }
public static int[] GetMaxRankOnAllNodes(this MPI.Intracommunicator communicator) { string[] processors = communicator.Allgather <string>(MPI.Environment.ProcessorName).Distinct().ToArray(); int[] maxRanks = new int[processors.Length]; for (int i = 0; i < processors.Length; i++) { maxRanks[i] = GetMaxRankOnNode(communicator, processors[i]); } return(maxRanks); }
private void mpi_start() { string[] args = System.Environment.GetCommandLineArgs(); mpi = new MPI.Environment(ref args); worldcomm = MPI.Communicator.world; //call MPI_INIT(IERROR) num = worldcomm.Size + npDebug; //call MPI_COMM_SIZE(MPI_COMM_WORLD, num, IERROR) id = worldcomm.Rank; //call MPI_COMM_RANK(MPI_COMM_WORLD, id, IERROR) ndim = nodedim(num); //if (!convertdouble) { //dp_type = MPI_DOUBLE_PRECISION //} else { //dp_type = MPI_REAL //} }
public static int GetMaxRankOnNode(this MPI.Intracommunicator communicator, string processorName) { string[] processers = communicator.Allgather <string>(MPI.Environment.ProcessorName); for (int i = processers.Length - 1; i >= 0; i--) { if (processers[i] == processorName) { return(i); } } throw new ApplicationException("An error occured finding the max rank on processor"); }
public static void SaveToHtml(string outputPath = "Timeline.html") { if (SpanTimer.comm == null) { return; } const int root = 0; MPI.Intracommunicator comm = SpanTimer.comm; // temporarily disable logging SpanTimer.comm = null; var allRecords = comm.Gather(records, root); if (comm.Rank == root) { SaveToHtml(outputPath, allRecords, allowOpenSpans: false); } // re-enable logging SpanTimer.comm = comm; }
private void mpi_start() { int color, nc; string[] args = System.Environment.GetCommandLineArgs(); mpi = new MPI.Environment(ref args); worldcomm = MPI.Communicator.world; total_nodes = worldcomm.Size + npDebug; node = worldcomm.Rank; nc = Convert.ToInt32(Math.Sqrt(total_nodes) + 0.00001d); maxcells = Convert.ToInt32(Math.Sqrt(total_nodes)); if (nc > maxcells) { nc = maxcells; } if (node >= nc * nc) { active = false; color = 1; } else { active = true; color = 0; } comm_setup = (MPI.Intracommunicator)worldcomm.Split(color, node);//call mpi_comm_split[MPI_COMM_WORLD,color,node,comm_setup,error]; if (!active) { return; } no_nodes = comm_setup.Size + npDebug; //call mpi_comm_size[comm_setup, no_nodes, error]; comm_solve = (MPI.Intracommunicator)comm_setup.Clone(); //call mpi_comm_dup[comm_setup, comm_solve, error]; comm_rhs = (MPI.Intracommunicator)comm_setup.Clone(); //call mpi_comm_dup[comm_setup, comm_rhs, error]; root = 0; }
override public void after_initialize() { // Inicializar o comunicador MPI. comm = this.Communicator; }
public static int GetNumberOfNodes(this MPI.Intracommunicator communicator) { string[] processors = communicator.Allgather <string>(MPI.Environment.ProcessorName).Distinct().ToArray(); return(processors.Length); }
override public void after_initialize() { comm = this.Communicator; }