server_scripts 0.0.8 → 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/server_scripts.rb +9 -0
- data/lib/server_scripts/computer/abci.rb +38 -6
- data/lib/server_scripts/parser/starpu_profile.rb +21 -0
- data/lib/server_scripts/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f1fcfa7acf474ee5e2995af309c00516764836c4
|
4
|
+
data.tar.gz: 3e3567be1f67c495143ecabe583be364235cadf1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8996a1076526a5e44e58b649ae8daf11a520ed7cecbc2c26bd1eff94f2c6a7109e609f3ce995c00d333895303a9c9e6c47242b440306a551e2b803d88701176d
|
7
|
+
data.tar.gz: 99e4065047cba125b88baf6a8f4f7391f926a7b9909ba7136d395f4bc584f1e671c9f65ae5caea0ef2aa5e74076c8ff6637124c0acd13f416c0a357ab57a627e
|
data/lib/server_scripts.rb
CHANGED
@@ -11,6 +11,7 @@ require 'server_scripts/version'
|
|
11
11
|
|
12
12
|
module ServerScripts
|
13
13
|
class << self
|
14
|
+
@@verbose = false
|
14
15
|
def system
|
15
16
|
sys = ENV["SYSTEM_NAME"]
|
16
17
|
|
@@ -28,6 +29,14 @@ module ServerScripts
|
|
28
29
|
def group_name
|
29
30
|
ENV["GROUP_NAME"]
|
30
31
|
end
|
32
|
+
|
33
|
+
def verbose
|
34
|
+
@@verbose
|
35
|
+
end
|
36
|
+
|
37
|
+
def verbose= v
|
38
|
+
@@verbose = v
|
39
|
+
end
|
31
40
|
end
|
32
41
|
end # module ServerScripts
|
33
42
|
|
@@ -1,19 +1,51 @@
|
|
1
1
|
module ServerScripts
|
2
2
|
module Computer
|
3
3
|
class ABCI < Base
|
4
|
-
|
5
|
-
|
6
|
-
def header(node_type: FULL_NODE)
|
7
|
-
h = %q{
|
4
|
+
|
5
|
+
HEADER = %q{
|
8
6
|
#!/bin/bash
|
9
7
|
|
10
8
|
#$ -cwd
|
11
9
|
#$ -l %{node_type}=%{nodes}
|
12
|
-
#$ -l h_rt=%{
|
10
|
+
#$ -l h_rt=%{wall_time}
|
13
11
|
#$ -N %{job_name}
|
14
12
|
#$ -o %{out_file}
|
15
13
|
#$ -e %{err_file}
|
16
|
-
|
14
|
+
|
15
|
+
. /etc/profile.d/modules.sh
|
16
|
+
module load intel-mkl
|
17
|
+
|
18
|
+
}
|
19
|
+
FULL_NODE = "rt_F"
|
20
|
+
|
21
|
+
MODULES = {
|
22
|
+
"gcc" => "gcc",
|
23
|
+
"intel-mpi" => "intel-mpi",
|
24
|
+
"openmpi" => "openmpi",
|
25
|
+
"itac" => "intel-itac intel-vtune"
|
26
|
+
}
|
27
|
+
|
28
|
+
def header
|
29
|
+
HEADER % {node_type: node_type, nodes: @nodes, wall_time: @wall_time,
|
30
|
+
job_name: @job_name, out_file: @out_file, err_file: @err_file}
|
31
|
+
end
|
32
|
+
|
33
|
+
def env_setter
|
34
|
+
str = "\n"
|
35
|
+
@env.each do |var, value|
|
36
|
+
str += "export #{var}=#{value}\n"
|
37
|
+
end
|
38
|
+
|
39
|
+
str
|
40
|
+
end
|
41
|
+
|
42
|
+
def job_submit_cmd batch_script:, res_id: nil
|
43
|
+
res = res_id ? " -ar #{res_id} " : ""
|
44
|
+
"qsub -g #{ServerScripts.group_name} #{res} #{batch_script}"
|
45
|
+
end
|
46
|
+
|
47
|
+
def module_load_cmd
|
48
|
+
"module load #{@modules.map { |m| MODULES[m] }.join(' ')}"
|
17
49
|
end
|
18
50
|
end
|
19
51
|
end
|
@@ -59,11 +59,23 @@ module ServerScripts
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def extract_data_from_profiles
|
62
|
+
if ServerScripts.verbose
|
63
|
+
puts ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
|
64
|
+
puts "Parsing REGEX: #{@regex}"
|
65
|
+
end
|
66
|
+
|
62
67
|
Dir.glob(@regex) do |fname|
|
68
|
+
if ServerScripts.verbose
|
69
|
+
puts "--------------------------------------"
|
70
|
+
puts "Reading file #{fname}..."
|
71
|
+
end
|
72
|
+
|
63
73
|
proc_id = fname.match(@regex.gsub("*", "(\\d+)"))[1].to_i
|
64
74
|
@time_hash[proc_id] = {}
|
65
75
|
output = File.read(fname).split("\n")
|
66
76
|
recent_cpu = nil
|
77
|
+
|
78
|
+
puts("\tPROC ID: #{proc_id}") if ServerScripts.verbose
|
67
79
|
|
68
80
|
output.each do |line|
|
69
81
|
cpu_match = line.match(/CPU\s(\d+)/)
|
@@ -78,11 +90,20 @@ module ServerScripts
|
|
78
90
|
@time_hash[proc_id][recent_cpu][:exec_time] = match_data[2].to_f / 1e3
|
79
91
|
@time_hash[proc_id][recent_cpu][:sleep_time] = match_data[3].to_f / 1e3
|
80
92
|
@time_hash[proc_id][recent_cpu][:overhead_time] = match_data[4].to_f / 1e3
|
93
|
+
if ServerScripts.verbose
|
94
|
+
puts("\t\tCPU ID: #{recent_cpu}")
|
95
|
+
puts("\t\t\tTotal Time: #{@time_hash[proc_id][recent_cpu][:total_time]}")
|
96
|
+
puts("\t\t\tExec Time: #{@time_hash[proc_id][recent_cpu][:exec_time]}")
|
97
|
+
puts("\t\t\tSleep Time: #{@time_hash[proc_id][recent_cpu][:sleep_time]}")
|
98
|
+
puts("\t\t\tOverhead Time: #{@time_hash[proc_id][recent_cpu][:overhead_time]}")
|
99
|
+
end
|
81
100
|
end
|
82
101
|
recent_cpu = nil
|
83
102
|
end
|
84
103
|
end
|
104
|
+
puts("--------------------------------------") if ServerScripts.verbose
|
85
105
|
end
|
106
|
+
puts("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<") if ServerScripts.verbose
|
86
107
|
end
|
87
108
|
end # class
|
88
109
|
end # module Parser
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: server_scripts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sameer Deshmukh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ptools
|