[slurm-users] Slurm SPANK GPU Compute Mode plugin
GAUDIN Regine
regine.gaudin at cea.fr
Thu Feb 13 09:37:29 UTC 2020
Hi Kilian, Miguel and slurm-users
As LUA_GLOBALSINDEX has been removed in Lua 5.2 and it's used in
slurm-spank-plugins (http://www.lua.org/manual/5.2/manual.html#8) the
build of slurm-spank-plugins-lua is failing on redhat8 which uses lua5.3.
/lua.c: error: ‘LUA_GLOBALSINDEX’ undeclared (first use in
this//function) />/lua_pushvalue (script->L, LUA_GLOBALSINDEX); /I've
made the following patchfor slurm-spank-plugins-lua using this helpfull
page:
https://stackoverflow.com/questions/28332452/porting-from-lua-5-1-to-5-2
The patch are still not in production but at least the lua plugins are
now built and loaded by slurm19 and lua5.3 (redhat8)
cat slurm-spank-plugins-0.24-undefined-lua5.3-variable.patch
--- slurm-spank-plugins-0.24.orig/lua/lua.c 2013-03-26
11:48:48.000000000 +0100
+++ slurm-spank-plugins-0.24.work/lua/lua.c 2020-02-12
13:31:03.629012000 +0100
@@ -1045,7 +1045,8 @@
* table.
*/
lua_pushstring (script->L, "__index");
- lua_pushvalue (script->L, LUA_GLOBALSINDEX);
+// lua_pushvalue (script->L, LUA_GLOBALSINDEX);
+ lua_pushglobaltable(script->L);
lua_settable (script->L, -3);
/* Now set metatable for the new globals table */
@@ -1054,8 +1055,8 @@
/* 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);
+ lua_rawseti(script->L,LUA_REGISTRYINDEX,LUA_RIDX_GLOBALS);
return script;
}
cat slurm-spank-plugins-0.24-fix-cpu-expand-test.patch
diff -rau
slurm-spank-plugins-0.24.orig/lua/lua-schedutils/lua-schedutils.c
slurm-spank-plugins-0.24.work/lua/lua-schedutils/lua-schedutils.c
--- slurm-spank-plugins-0.24.orig/lua/lua-schedutils/lua-schedutils.c
2013-03-26 10:48:48.000000000 +0000
+++ slurm-spank-plugins-0.24.work/lua/lua-schedutils/lua-schedutils.c
2020-02-06 13:06:27.994728000 +0000
@@ -575,7 +575,7 @@
* Push CPU id, either to be used as argument to function, or
* as an element for the table:
*/
- lua_pushnumber (L, i);
+ lua_pushinteger(L, i);
/*
* Call function if needed and leave the result on the stack.
Hope it helps a minimum.
Regards
Regine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20200213/eb044ffc/attachment.htm>
More information about the slurm-users
mailing list