[slurm-users] Slurm SPANK GPU Compute Mode plugin

Miguel Gila miguel.gila at cscs.ch
Tue Jan 23 05:41:48 MST 2018

Hi Kilian, a question on this: which version of Slurm/Lua are you running this against??

I don’t seem able to generate the RPM on 17.02.9/Lua 5.2 ; it throws similar errors to what I had seen earlier on the original files from Mark Grondo.

> rpmbuild --define "_sysconfdir /etc/opt" --define "__cc /usr/bin/cc $(pkg-config --cflags slurm)" -ta slurm-spank-lua-0.38.tar.gz
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.bUiy3F
+ umask 022
+ cd /users/builduser/rpmbuild/BUILD
+ cd /users/builduser/rpmbuild/BUILD
+ rm -rf slurm-spank-lua-0.38
+ /usr/bin/gzip -dc /users/builduser/workarea/job_environment/slurm-spank-lua-0.38.tar.gz
+ /bin/tar -xf -
+ '[' 0 -ne 0 ']'
+ cd slurm-spank-lua-0.38
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.p3xXXA
+ umask 022
+ cd /users/builduser/rpmbuild/BUILD
+ /usr/bin/rm -rf /tmp/builduser/BUILDROOT
++ dirname /tmp/builduser/BUILDROOT
+ /usr/bin/mkdir -p /tmp/builduser
+ /usr/bin/mkdir /tmp/builduser/BUILDROOT
+ cd slurm-spank-lua-0.38
+ /usr/bin/cc -I/opt/slurm/17.02.9/include -g -o lua.o -fPIC -c lua.c
lua.c: In function ‘lua_script_create’:
lua.c:1048:31: error: ‘LUA_GLOBALSINDEX’ undeclared (first use in this function)
     lua_pushvalue (script->L, LUA_GLOBALSINDEX);
lua.c:1048:31: note: each undeclared identifier is reported only once for each function it appears in
error: Bad exit status from /var/tmp/rpm-tmp.p3xXXA (%build)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.p3xXXA (%build)

Does anybody have an idea to get this to build and work? I’ve done some research, but my knowledge of Lua is very basic and the things I’ve tried ([1] and [2]) did not help at all. In fact, I’ve changed the source to look like this:

> diff -Naur slurm-spank-lua-0.38-modified/lua.c slurm-spank-lua-0.38/lua.c
--- slurm-spank-lua-0.38-modified/lua.c	2018-01-23 13:33:15.808026439 +0100
+++ slurm-spank-lua-0.38/lua.c	2018-01-22 19:56:54.000000000 +0100
@@ -1045,8 +1045,7 @@
      *   table.
     lua_pushstring (script->L, "__index");
-    lua_setglobal (script->L, "__index");
-    //lua_pushvalue (script->L, LUA_GLOBALSINDEX);
+    lua_pushvalue (script->L, LUA_GLOBALSINDEX);
     lua_settable (script->L, -3);

     /*  Now set metatable for the new globals table */
@@ -1055,7 +1054,7 @@
     /*  And finally replace the globals table with the (empty)  table
      *   now at top of the stack
-    //lua_replace (script->L, LUA_GLOBALSINDEX);
+    lua_replace (script->L, LUA_GLOBALSINDEX);

     return script;

And, although it initially builds, in the end it dies miserably:

> srun --help
PANIC: unprotected error in call to Lua API (attempt to index a nil value)


[1] https://stackoverflow.com/questions/9057943/porting-to-lua-5-2-lua-globalsindex-trouble?rq=1 <https://stackoverflow.com/questions/9057943/porting-to-lua-5-2-lua-globalsindex-trouble?rq=1>
[2] https://stackoverflow.com/questions/10087226/lua-5-2-lua-globalsindex-alternative <https://stackoverflow.com/questions/10087226/lua-5-2-lua-globalsindex-alternative>

> On 23 Jan 2018, at 00:20, Kilian Cavalotti <kilian.cavalotti.work at gmail.com> wrote:
> Hi all,
> We (Stanford Research Computing Center) developed a SPANK plugin which
> allows users to choose the GPU compute mode [1] for their jobs.
> [1] http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-modes
> This came from the need to give our users some control on the way GPUs
> are set, so they could run specific applications requiring a given
> mode, while providing defaults optimized for our general environment.
> We figured it could be of interest to others, so we released our Slurm
> SPANK GPU Compute Mode plugin at
> https://github.com/stanford-rc/slurm-spank-gpu_cmode
> Feel free to give it a try, and don't hesitate to contact us if you
> have any question.
> Cheers,
> -- 
> Kilian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20180123/805488ed/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2014 bytes
Desc: not available
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20180123/805488ed/attachment-0001.bin>

More information about the slurm-users mailing list