mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-29 16:24:10 +00:00
hp2p: init at 3.3
This commit is contained in:
parent
612a8fa189
commit
a4127fa943
38
pkgs/tools/networking/hp2p/default.nix
Normal file
38
pkgs/tools/networking/hp2p/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ lib, stdenv, fetchFromGitHub, mpi, python3Packages, autoconf, automake } :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hp2p";
|
||||
version = "3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cea-hpc";
|
||||
repo = "hp2p";
|
||||
rev = version;
|
||||
sha256 = "0zvlwb941rlp3vrf9yzv7njgpj3mh4671ch7qvxfa4hq2ivd52br";
|
||||
};
|
||||
|
||||
patches = [ ./python3.patch ];
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [ autoconf automake python3Packages.wrapPython ];
|
||||
buildInputs = [ mpi ] ++ (with python3Packages; [ python numpy matplotlib plotly mpldatacursor ]) ;
|
||||
pythonPath = (with python3Packages; [ numpy matplotlib plotly mpldatacursor ]) ;
|
||||
|
||||
preConfigure = ''
|
||||
patchShebangs autogen.sh
|
||||
./autogen.sh
|
||||
export CC=mpicc
|
||||
export CXX=mpic++
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A MPI based benchmark for network diagnostics";
|
||||
homepage = "https://github.com/cea-hpc/hp2p";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.cecill-c;
|
||||
maintainers = [ maintainers.bzizou ];
|
||||
};
|
||||
}
|
120
pkgs/tools/networking/hp2p/python3.patch
Normal file
120
pkgs/tools/networking/hp2p/python3.patch
Normal file
@ -0,0 +1,120 @@
|
||||
diff -u -r source.orig/src/vizhp2p source/src/vizhp2p
|
||||
--- source.orig/src/vizhp2p 1970-01-01 01:00:01.000000000 +0100
|
||||
+++ source/src/vizhp2p 2021-08-24 10:41:42.926881770 +0200
|
||||
@@ -94,25 +94,25 @@
|
||||
with open(hostfile) as fd:
|
||||
for line in fd:
|
||||
if line.startswith(motif_rank):
|
||||
- print line
|
||||
+ print(line)
|
||||
c,v = line[len(motif_rank)+1:-1].split(separator)
|
||||
nodes[c] = v
|
||||
|
||||
# display k worst nodes indices
|
||||
- print "\nTop %d bad mean:" % k
|
||||
+ print("\nTop %d bad mean:" % k)
|
||||
mean_order = np.argsort(a_mean)
|
||||
- print [nodes[str(c)] for c in mean_order[:k]]
|
||||
+ print([nodes[str(c)] for c in mean_order[:k]])
|
||||
mean_st = "Top nodes with bad mean:\n"
|
||||
for i in range(0, k, hostname_per_line):
|
||||
mean_st += repr([nodes[str(c)] for c
|
||||
in mean_order[i:i + hostname_per_line]]) + "\n"
|
||||
|
||||
- print "Top %d bad std:" % k
|
||||
- print [nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]]
|
||||
+ print("Top %d bad std:" % k)
|
||||
+ print([nodes[str(c)] for c in np.argsort(a_std)[-k:][::-1]])
|
||||
|
||||
- print "Top %d bad mean/std:" % k
|
||||
+ print("Top %d bad mean/std:" % k)
|
||||
pen_order = np.argsort(a_mean / a_std)
|
||||
- print [nodes[str(c)] for c in pen_order[:k]]
|
||||
+ print([nodes[str(c)] for c in pen_order[:k]])
|
||||
pen_st = "Top nodes with bad mean/std:\n"
|
||||
for i in range(0, k, hostname_per_line):
|
||||
pen_st += repr([nodes[str(c)] for c
|
||||
@@ -293,9 +293,9 @@
|
||||
# and 'p' (snapshot)
|
||||
def onrefresh(event):
|
||||
if event.key == 'r':
|
||||
- print "refreshing...",
|
||||
+ print("refreshing...", end=' ')
|
||||
loop()
|
||||
- print "ok"
|
||||
+ print("ok")
|
||||
elif event.key == 'q':
|
||||
exit()
|
||||
elif event.key == 'p':
|
||||
@@ -303,9 +303,9 @@
|
||||
fig1.savefig(snapfile)
|
||||
snapfile = outputname + "_snapshot_time.png"
|
||||
fig2.savefig(snapfile)
|
||||
- print 'snapshot saved (%s)' % snapfile
|
||||
+ print('snapshot saved (%s)' % snapfile)
|
||||
else:
|
||||
- print "The answer to %s is 42." % event.key
|
||||
+ print("The answer to %s is 42." % event.key)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -356,11 +356,11 @@
|
||||
countfile = outputname + ".count.bin"
|
||||
|
||||
print("visu_hp2p configuration:")
|
||||
- print(" DATAFILE : %s"%resfile)
|
||||
- print(" BIN_TIMER_FILE : %s"%resfile_time)
|
||||
- print(" HOSTFILE : %s"%hostfile)
|
||||
- print(" Bad nodes to display: %d"%k)
|
||||
- print(" GUI resolution : %s"%resolution)
|
||||
+ print((" DATAFILE : %s"%resfile))
|
||||
+ print((" BIN_TIMER_FILE : %s"%resfile_time))
|
||||
+ print((" HOSTFILE : %s"%hostfile))
|
||||
+ print((" Bad nodes to display: %d"%k))
|
||||
+ print((" GUI resolution : %s"%resolution))
|
||||
|
||||
hostname_per_line = 4 # for GUI layout
|
||||
refresh_in_sec = 60
|
||||
@@ -377,7 +377,7 @@
|
||||
# wait for resfile
|
||||
while not os.path.exists(resfile) :
|
||||
time.sleep(5)
|
||||
- print "Waiting for input files..."
|
||||
+ print("Waiting for input files...")
|
||||
|
||||
# add callback on key press event
|
||||
cid1 = fig1.canvas.mpl_connect('key_press_event', onrefresh)
|
||||
Only in source/src: vizhp2p.bak
|
||||
diff -u -r source.orig/src/vizhp2p_html source/src/vizhp2p_html
|
||||
--- source.orig/src/vizhp2p_html 1970-01-01 01:00:01.000000000 +0100
|
||||
+++ source/src/vizhp2p_html 2021-08-24 10:41:54.799946303 +0200
|
||||
@@ -118,7 +118,7 @@
|
||||
hostfile = args.hostfile
|
||||
clustername = args.clustername
|
||||
if len(args.OutputName) == 0:
|
||||
- print "No DATAFILE given! Please provide Hp2p output files name !"
|
||||
+ print("No DATAFILE given! Please provide Hp2p output files name !")
|
||||
exit(0)
|
||||
else:
|
||||
outputname = args.OutputName.split('.')[0]
|
||||
@@ -134,13 +134,13 @@
|
||||
else:
|
||||
outfile = args.outfile
|
||||
|
||||
- print "%s configuration:"%commandname
|
||||
- print " DATAFILE : %s"%resfile
|
||||
- print " HOSTFILE : %s"%hostfile
|
||||
- print " CLUSTER : %s"%clustername
|
||||
- print " OUTPUTFILE : %s"%outfile
|
||||
+ print("%s configuration:"%commandname)
|
||||
+ print(" DATAFILE : %s"%resfile)
|
||||
+ print(" HOSTFILE : %s"%hostfile)
|
||||
+ print(" CLUSTER : %s"%clustername)
|
||||
+ print(" OUTPUTFILE : %s"%outfile)
|
||||
if not os.path.exists(resfile):
|
||||
- print "%s doesn't exist...Exiting"%resfile
|
||||
+ print("%s doesn't exist...Exiting"%resfile)
|
||||
exit(0)
|
||||
|
||||
# Data management
|
||||
Only in source/src: vizhp2p_html.bak
|
@ -1648,6 +1648,8 @@ with pkgs;
|
||||
|
||||
hostctl = callPackage ../tools/system/hostctl { };
|
||||
|
||||
hp2p = callPackage ../tools/networking/hp2p { };
|
||||
|
||||
hpe-ltfs = callPackage ../tools/backup/hpe-ltfs { };
|
||||
|
||||
http2tcp = callPackage ../tools/networking/http2tcp { };
|
||||
|
Loading…
Reference in New Issue
Block a user