Hi,
I want to schedule GPUs in maui 3.3.1. I find a patch for maui that can solve
this. But when I use the batch with "patch -p1< ../Patch-for-gpu-GRES.patch",
there is a problem below:
------------------------------------------------------------------------------------------
patching file include/moab.h
patching file include/msched-common.h
patching file src/moab/MConst.c
patching file src/moab/MJob.c
patching file src/moab/MNode.c
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 4947.
1 out of 1 hunk FAILED -- saving rejects to file src/moab/MNode.c.rej
Maybe I got a uncomplete patch.if anyone uses the patch well,please give me a
copy or suggestion , thank you very much.
This is my patch download from net:
------------------------------------------------------------------------------------------------
diff -rupN --exclude-from=.exclude maui-3.3.1/include/moab.h
orig/maui-3.3.1/include/moab.h
--- maui-3.3.1/include/moab.h 2011-04-10 14:46:50.000000000 +0200
+++ orig/maui-3.3.1/include/moab.h 2011-03-04 17:28:25.000000000 +0100
@@ -1692,8 +1692,7 @@ enum MXAttrType {
mxaSID,
mxaSJID,
mxaTPN,
- mxaTRL,
- mxaGRes };
+ mxaTRL };
enum MauiAppSimCommandEnum {
mascNONE,
diff -rupN --exclude-from=.exclude maui-3.3.1/include/msched-common.h
orig/maui-3.3.1/include/msched-common.h
--- maui-3.3.1/include/msched-common.h 2011-04-10 15:00:50.000000000 +0200
+++ orig/maui-3.3.1/include/msched-common.h 2011-03-04
17:28:26.000000000 +0100
@@ -478,7 +478,7 @@ typedef struct {
#define MAX_MCLASS 16
#define MMAX_CLASS 16
-#define MAX_MGRES 16
+#define MAX_MGRES 4
typedef struct {
int Procs;
diff -rupN --exclude-from=.exclude maui-3.3.1/src/moab/MConst.c
orig/maui-3.3.1/src/moab/MConst.c
--- maui-3.3.1/src/moab/MConst.c 2011-04-10 14:44:54.000000000 +0200
+++ orig/maui-3.3.1/src/moab/MConst.c 2011-03-04 17:28:24.000000000 +0100
@@ -938,7 +938,6 @@ const char *MRMXAttr[] = {
"SJID",
"TPN",
"TRL",
- "GRES",
NULL };
const char *MJobFlags[] = {
diff -rupN --exclude-from=.exclude maui-3.3.1/src/moab/MJob.c
orig/maui-3.3.1/src/moab/MJob.c
--- maui-3.3.1/src/moab/MJob.c 2011-04-10 19:02:59.000000000 +0200
+++ orig/maui-3.3.1/src/moab/MJob.c 2011-03-04 17:28:24.000000000 +0100
@@ -4072,55 +4072,7 @@ int MJobProcessExtensionString(
RQ->TaskRequestList[2]);
break;
- case mxaGRes:
- MUStrCpy(tmpLine,Value,sizeof(tmpLine));
-
- /* FORMAT: GRES:<RESTYPE>[@<COUNT>][:<RESTYPE>[@<COUNT>]]
- GRES:tape:matlab@2
- */
-
- ptr = MUStrTok(tmpLine,":",&TokPtr2);
-
- while (ptr != NULL)
- {
- char *gresName = NULL;
- char *p = NULL;
- int gresCount = 1;
- int rIndex = 0;
-
- if ((p = strchr(ptr,'@')) != NULL)
- {
- *p = '\0';
- gresCount = strtol(p+1, NULL, 10);
- }
-
- gresName = ptr;
-
- DBG(3,fCONFIG) DPrint("INFO: GRES requested = %s@%d\n",
- gresName,
- gresCount);
-
- if ((rIndex = MUMAGetIndex(eGRes,gresName,mVerify)) == 0)
- {
- DBG(1,fPBS) DPrint("ALERT: Unknown GRES '%s'\n",
- gresName);
- }
- else if (gresCount <= 0)
- {
- DBG(1,fPBS) DPrint("ALERT: Invalid GRES count %d\n",
- gresCount);
- }
- else
- {
- RQ->DRes.GRes[rIndex].count = gresCount;
- RQ->DRes.GRes[0].count +=gresCount;
- }
-
- ptr = MUStrTok(NULL,":",&TokPtr2);
- }
-
- break;
default:
/* not handled */
diff -rupN --exclude-from=.exclude maui-3.3.1/src/moab/MNode.c
orig/maui-3.3.1/src/moab/MNode.c
--- maui-3.3.1/src/moab/MNode.c 2011-04-10 19:46:42.000000000 +0200
+++ orig/maui-3.3.1/src/moab/MNode.c 2011-03-04 17:28:24.000000000 +0100
@@ -4947,12 +4947,6 @@ int MNodeAdjustAvailResources(
*ARes[rindex] = CRes[rindex];
}
} /* END for (rindex) */
-
- /* Adjust GRES */
- for (rindex = 0; rindex < MAX_MGRES; rindex++)
- {
- N->ARes.GRes[rindex].count = MAX(0,(N->CRes.GRes[rindex].count -
N->DRes.GRes[rindex].count));
- }
return(SUCCESS);
} /* END MNodeAdjustAvailResources() */
Mini
_______________________________________________
mauiusers mailing list
[email protected]
http://www.supercluster.org/mailman/listinfo/mauiusers