Use preconnect as a better test of startup scaling than barrier
This commit was SVN r26530.
Этот коммит содержится в:
родитель
71bffa5158
Коммит
8ebf235a56
contrib/scaling
@ -1,15 +1,10 @@
|
|||||||
PROGS = orte_no_op mpi_no_op mpi_barrier
|
PROGS = orte_no_op mpi_no_op
|
||||||
|
|
||||||
all: $(PROGS)
|
all: $(PROGS)
|
||||||
|
|
||||||
CC = mpicc
|
CC = mpicc
|
||||||
CFLAGS = -g
|
CFLAGS = -O
|
||||||
CFLAGS_INTERNAL = -I../../.. -I../../../orte/include -I../../../opal/include
|
CFLAGS_INTERNAL = -I../../.. -I../../../orte/include -I../../../opal/include
|
||||||
CXX = mpic++
|
|
||||||
CXXFLAGS = -g
|
|
||||||
F77 = mpif77
|
|
||||||
FC = mpif90
|
|
||||||
FFLAGS = -g
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(PROGS) *~
|
rm -f $(PROGS) *~
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
/* -*- C -*-
|
|
||||||
*
|
|
||||||
* $HEADER$
|
|
||||||
*
|
|
||||||
* The most basic of MPI applications
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include "mpi.h"
|
|
||||||
|
|
||||||
int main(int argc, char* argv[])
|
|
||||||
{
|
|
||||||
MPI_Init(&argc, &argv);
|
|
||||||
MPI_Barrier(MPI_COMM_WORLD);
|
|
||||||
MPI_Finalize();
|
|
||||||
return 0;
|
|
||||||
}
|
|
@ -11,7 +11,8 @@ my $num_nodes = 0;
|
|||||||
my $my_arg;
|
my $my_arg;
|
||||||
my $reps = 1;
|
my $reps = 1;
|
||||||
|
|
||||||
my @tests = qw(/bin/true ./orte_no_op ./mpi_no_op ./mpi_barrier);
|
my @tests = qw(/bin/true ./orte_no_op ./mpi_no_op ./mpi_no_op);
|
||||||
|
my @options = ("", "", "", "-mca mpi_preconnect_mpi 1");
|
||||||
|
|
||||||
# Cannot use the usual GetOpts library as the user might
|
# Cannot use the usual GetOpts library as the user might
|
||||||
# be passing -options to us! So have to
|
# be passing -options to us! So have to
|
||||||
@ -52,15 +53,17 @@ my @results;
|
|||||||
my $res;
|
my $res;
|
||||||
my $toggle;
|
my $toggle;
|
||||||
my $idx;
|
my $idx;
|
||||||
|
my $option;
|
||||||
print "\n--------------------------------------------------\n";
|
print "\n--------------------------------------------------\n";
|
||||||
foreach $test (@tests) {
|
foreach $test (@tests) {
|
||||||
|
$option = shift(@options);
|
||||||
if (-e $test) {
|
if (-e $test) {
|
||||||
# pre-position the executable
|
# pre-position the executable
|
||||||
$cmd = "mpirun -npernode 1 $test 2>&1";
|
$cmd = "mpirun -npernode 1 $test 2>&1";
|
||||||
system($cmd);
|
system($cmd);
|
||||||
$n = 1;
|
$n = 1;
|
||||||
while ($n <= $num_nodes) {
|
while ($n <= $num_nodes) {
|
||||||
$cmd = "time mpirun -npernode 1 -max-vm-size " . $n . " $test 2>&1";
|
$cmd = "time mpirun -npernode 1 -max-vm-size $n $option $test 2>&1";
|
||||||
print $cmd . "\n";
|
print $cmd . "\n";
|
||||||
if (0 == $showme_arg) {
|
if (0 == $showme_arg) {
|
||||||
for (1..$reps) {
|
for (1..$reps) {
|
||||||
@ -96,7 +99,7 @@ foreach $test (@tests) {
|
|||||||
$n = 2 * $n;
|
$n = 2 * $n;
|
||||||
}
|
}
|
||||||
if ($n != (2 * $num_nodes)) {
|
if ($n != (2 * $num_nodes)) {
|
||||||
$cmd = "time mpirun -npernode 1 $test 2>&1";
|
$cmd = "time mpirun -npernode 1 $option $test 2>&1";
|
||||||
print $cmd . "\n";
|
print $cmd . "\n";
|
||||||
if (0 == $showme_arg) {
|
if (0 == $showme_arg) {
|
||||||
for (1..$reps) {
|
for (1..$reps) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user