Skip to content

Commit 7acb12e

Browse files
committed
added gpu_mem to Sestavovac
1 parent d8588c8 commit 7acb12e

File tree

9 files changed

+41
-11
lines changed

9 files changed

+41
-11
lines changed

cloud/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>cz.metacentrum</groupId>
66
<artifactId>accounting-parent</artifactId>
7-
<version>3.32.1</version>
7+
<version>3.33</version>
88
</parent>
99

1010
<artifactId>cloud</artifactId>

metaacct/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>cz.metacentrum</groupId>
99
<artifactId>accounting-parent</artifactId>
10-
<version>3.32.1</version>
10+
<version>3.33</version>
1111
</parent>
1212

1313
<artifactId>metaacct</artifactId>

metaacct_cmd/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>cz.metacentrum</groupId>
77
<artifactId>accounting-parent</artifactId>
8-
<version>3.32.1</version>
8+
<version>3.33</version>
99
</parent>
1010

1111
<artifactId>metaacct_cmd</artifactId>

pbsmon/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>cz.metacentrum</groupId>
66
<artifactId>accounting-parent</artifactId>
7-
<version>3.32.1</version>
7+
<version>3.33</version>
88
</parent>
99

1010
<artifactId>pbsmon</artifactId>

pbsmon/src/main/java/cz/cesnet/meta/pbs/Node.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public class Node extends PbsInfoObject {
5050
public static final String ATTRIBUTE_TOTAL_MEMORY_PBSPRO = "resources_available.mem";
5151
public static final String ATTRIBUTE_USED_MEMORY_TORQUE = "resources_used.mem";
5252
public static final String ATTRIBUTE_USED_MEMORY_PBSPRO = "resources_assigned.mem";
53+
public static final String ATTRIBUTE_GPU_MEM = "resources_available.gpu_mem";
5354
public static final String ATTRIBUTE_QUEUE = "queue";
5455
public static final String ATTRIBUTE_JOBS = "jobs";
5556
public static final String ATTRIBUTE_AVAILABLE_BEFORE = "available_before";
@@ -453,6 +454,10 @@ public String getFreeMemoryB() {
453454
return PbsUtils.formatInHumanUnits(getFreeMemoryInt());
454455
}
455456

457+
public long getGpuMemoryInt() {
458+
return PbsUtils.parsePbsBytes(attrs.get(ATTRIBUTE_GPU_MEM));
459+
}
460+
456461
/**
457462
* METACentrum-specific queue.
458463
*

pbsmon/src/main/java/cz/cesnet/meta/stripes/QsubPbsproActionBean.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ public List<Queue> getOfferQueues() {
196196
@Validate(on = {"sestavovac"}, required = true, minvalue = 1)
197197
long mem = 400;
198198
String memu = "mb";
199+
long gpu_mem = 0L;
200+
String gpu_memu = "mb";
199201
int nodes = 1;
200202
int ncpus = 1;
201203
int ngpus = 0;
@@ -233,10 +235,11 @@ public Resolution sestavovac() {
233235
Resolution r = data();
234236
if (r != null) return r;
235237
//Sestavovac
236-
log.info("sestavovac() user={} -l walltime={}:{}:{}:,q={},nodes={}:ncpus={}:scratch_{}={}{}:mem={}{}: resources= {}:cluster={}:city={}:spec={}",
237-
user, wh, wm, ws, fronta, nodes, ncpus, scratchtype, scratch, scratchu, mem, memu, resources,cluster,city,spec);
238+
log.info("sestavovac() user={} -l walltime={}:{}:{}:,q={},nodes={}:ncpus={}:scratch_{}={}{}:mem={}{}:gpu_mem={}{}: resources= {}:cluster={}:city={}:spec={}",
239+
user, wh, wm, ws, fronta, nodes, ncpus, scratchtype, scratch, scratchu, mem, memu, gpu_mem, gpu_memu, resources,cluster,city,spec);
238240

239241
long memBytes = PbsUtils.parsePbsBytes(this.mem + this.memu);
242+
long gpuMemBytes = PbsUtils.parsePbsBytes(this.gpu_mem + this.gpu_memu);
240243
long scratchBytes = PbsUtils.parsePbsBytes(this.scratch + this.scratchu);
241244
long walltimeSecs = walltimeSecs();
242245

@@ -299,6 +302,11 @@ public Resolution sestavovac() {
299302
log.debug("node {} has not enough RAM: {}<{}", node.getName(), node.getTotalMemoryInt(), memBytes);
300303
continue;
301304
}
305+
//musi mit dost GPU pameti
306+
if (node.getGpuMemoryInt() < gpuMemBytes) {
307+
log.debug("node {} has not enough GPU memory: {}<{}", node.getName(), node.getGpuMemoryInt(), gpuMemBytes);
308+
continue;
309+
}
302310
//musi mit vhodny typ scratche
303311
Scratch nodeScratch = node.getScratch();
304312
if (scratchBytes > 0) {
@@ -422,6 +430,22 @@ public void setMem(long mem) {
422430
this.mem = mem;
423431
}
424432

433+
public long getGpu_mem() {
434+
return gpu_mem;
435+
}
436+
437+
public void setGpu_mem(long gpu_mem) {
438+
this.gpu_mem = gpu_mem;
439+
}
440+
441+
public String getGpu_memu() {
442+
return gpu_memu;
443+
}
444+
445+
public void setGpu_memu(String gpu_memu) {
446+
this.gpu_memu = gpu_memu;
447+
}
448+
425449
public int getNodes() {
426450
return nodes;
427451
}

pbsmon/src/main/webapp/nodes/qsub_pbspro.jsp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
:ncpus=<s:select name="ncpus"><c:forEach begin="1" end="384" var="i"><s:option value="${i}">${i}</s:option></c:forEach></s:select>
2828
:ngpus=<s:select name="ngpus"><c:forEach begin="0" end="4" var="i"><s:option value="${i}">${i}</s:option></c:forEach></s:select>
2929
:mem=<s:text style="text-align: right;" name="mem" size="3"/><s:select name="memu"><s:option value="mb">mb</s:option><s:option value="gb">gb</s:option></s:select>
30+
:gpu_mem=<s:text style="text-align: right;" name="gpu_mem" size="3"/><s:select name="gpu_memu"><s:option value="mb">mb</s:option><s:option value="gb">gb</s:option></s:select>
3031
:scratch_<s:select name="scratchtype"><s:option value="local">local</s:option><s:option value="ssd">ssd</s:option><s:option value="shared">shared</s:option></s:select>=<s:text style="text-align: right;" name="scratch" size="3"/><s:select name="scratchu"><s:option value="mb">mb</s:option><s:option value="gb">gb</s:option></s:select>
3132
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong>cluster ... <strong><s:select name="cluster"><s:option value=""> </s:option><c:forEach items="${actionBean.clusters}" var="cl"><s:option value="${cl}">:${cl}=True</s:option></c:forEach></s:select>
3233
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong><t:i18n cs="město" en="city"/> ... <strong> <s:select name="city"><s:option value=""> </s:option><c:forEach items="${actionBean.cities}" var="ct"><s:option value="${ct}">:${ct}=True</s:option></c:forEach></s:select>
@@ -47,13 +48,13 @@
4748
<h4><f:message key="person_qsub_cli"/></h4>
4849
qsub -l walltime=${actionBean.wh}:${actionBean.wm}:${actionBean.ws}
4950
<c:choose><c:when test="${actionBean.fronta=='default'}"> </c:when><c:otherwise> -q ${actionBean.fronta} </c:otherwise></c:choose>
50-
-l select=${actionBean.nodes}:ncpus=${actionBean.ncpus}<c:if test="${actionBean.ngpus>0}">:ngpus=${actionBean.ngpus}</c:if>:mem=${actionBean.mem}${actionBean.memu}<c:if test="${actionBean.scratch>0}">:scratch_${actionBean.scratchtype}=${actionBean.scratch}${actionBean.scratchu}</c:if><c:if test="${not empty actionBean.spec}">:spec=${actionBean.spec}</c:if><c:forEach items="${actionBean.resources}" var="e"><c:if test="${not empty e.value}">:${e.key}=${e.value}</c:if></c:forEach>
51+
-l select=${actionBean.nodes}:ncpus=${actionBean.ncpus}<c:if test="${actionBean.ngpus>0}">:ngpus=${actionBean.ngpus}</c:if>:mem=${actionBean.mem}${actionBean.memu}:gpu_mem=${actionBean.gpu_mem}${actionBean.gpu_memu}<c:if test="${actionBean.scratch>0}">:scratch_${actionBean.scratchtype}=${actionBean.scratch}${actionBean.scratchu}</c:if><c:if test="${not empty actionBean.spec}">:spec=${actionBean.spec}</c:if><c:forEach items="${actionBean.resources}" var="e"><c:if test="${not empty e.value}">:${e.key}=${e.value}</c:if></c:forEach>
5152
<h4><f:message key="person_qsub_bash"/></h4>
5253
<pre>
5354
#!/bin/bash
5455
#PBS -q ${actionBean.fronta}
5556
#PBS -l walltime=${actionBean.wh}:${actionBean.wm}:${actionBean.ws}
56-
#PBS -l select=${actionBean.nodes}:ncpus=${actionBean.ncpus}<c:if test="${actionBean.ngpus>0}">:ngpus=${actionBean.ngpus}</c:if>:mem=${actionBean.mem}${actionBean.memu}<c:if test="${actionBean.scratch>0}">:scratch_${actionBean.scratchtype}=${actionBean.scratch}${actionBean.scratchu}</c:if><c:if test="${not empty actionBean.spec}">:spec=${actionBean.spec}</c:if><c:forEach items="${actionBean.resources}" var="e"><c:if test="${not empty e.value}">:${e.key}=${e.value}</c:if></c:forEach>
57+
#PBS -l select=${actionBean.nodes}:ncpus=${actionBean.ncpus}<c:if test="${actionBean.ngpus>0}">:ngpus=${actionBean.ngpus}</c:if>:mem=${actionBean.mem}${actionBean.memu}:gpu_mem=${actionBean.gpu_mem}${actionBean.gpu_memu}<c:if test="${actionBean.scratch>0}">:scratch_${actionBean.scratchtype}=${actionBean.scratch}${actionBean.scratchu}</c:if><c:if test="${not empty actionBean.spec}">:spec=${actionBean.spec}</c:if><c:forEach items="${actionBean.resources}" var="e"><c:if test="${not empty e.value}">:${e.key}=${e.value}</c:if></c:forEach>
5758
#PBS -N my_awesome_job
5859
</pre>
5960
<h3><f:message key="person_vysledek"/></h3>

perun_machines/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>cz.metacentrum</groupId>
77
<artifactId>accounting-parent</artifactId>
8-
<version>3.32.1</version>
8+
<version>3.33</version>
99
</parent>
1010

1111
<artifactId>perun_machines</artifactId>

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
<packaging>pom</packaging>
88

99
<!--
10-
Use "mvn versions:set -DnewVersion=3.33; mvn versions:commit" to change version in all modules
10+
Use "mvn versions:set -DnewVersion=3.34; mvn versions:commit" to change version in all modules
1111
-->
12-
<version>3.32.1</version>
12+
<version>3.33</version>
1313
<name>MetaCentrum Accounting Parent Project</name>
1414

1515
<properties>

0 commit comments

Comments
 (0)