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

Reply via email to