{"id":4677,"date":"2020-07-22T16:32:03","date_gmt":"2020-07-22T15:32:03","guid":{"rendered":"http:\/\/ri.itservices.manchester.ac.uk\/csf3\/?page_id=4677"},"modified":"2020-07-30T14:27:43","modified_gmt":"2020-07-30T13:27:43","slug":"scikitcuda","status":"publish","type":"page","link":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/software\/applications\/scikitcuda\/","title":{"rendered":"scikit-cuda"},"content":{"rendered":"<h2>Overview<\/h2>\n<p><a href=\"https:\/\/scikit-cuda.readthedocs.io\/en\/latest\/index.html\">scikit-cuda<\/a> is a python module to provide Python interfaces to many of the functions in the CUDA device\/runtime, CUBLAS, CUFFT, and CUSOLVER libraries distributed as part of NVIDIA\u2019s CUDA Programming Toolkit.<\/p>\n<p>Version 0.5.1 is installed on the CSF (the most recent official release, we are aware that 0.5.3 is available but it is still noted in the change log of the software developer as &#8216;Under Development&#8217;, we tend to stick to stable releases of software). <\/p>\n<h2>Restrictions on use<\/h2>\n<p>There are no restrictions on accessing this software on the CSF. <\/p>\n<p>Please ensure you cite your usage in any published works.<\/p>\n<h2>Set up procedure<\/h2>\n<p>We now recommend loading modulefiles within your jobscript so that you have a full record of how the job was run. See the example jobscript below for how to do this. Alternatively, you may load modulefiles on the login node and let the job <abbr title=\"add '#$ -V' to your jobscript\">inherit these settings<\/abbr>.<\/p>\n<p>Load the following modulefiles:<\/p>\n<pre>\r\nmodule load apps\/python\/scikit-cuda\/0.5.1\r\n<\/pre>\n<p>This will load automatically the Anaconda python modulefile (provides python 3.7) and CUDA 10.1.136<\/p>\n<h2>Running the application<\/h2>\n<p>Please do not run your code on the login node. Jobs should be submitted to the compute nodes via batch.<\/p>\n<p>Your python scripts should use:<\/p>\n<pre>\r\nimport skcuda\r\n<\/pre>\n<p>or a specific component of your choice.<\/p>\n<h3>Serial batch job submission<\/h3>\n<p>Create a batch submission script (which will load the modulefile in the jobscript), for example:<\/p>\n<pre>\r\n#!\/bin\/bash --login\r\n#$ -cwd             # Job will run from the current directory\r\n                    # NO -V line - we load modulefiles in the jobscript\r\n\r\nmodule load apps\/python\/amico\/1.0.2\r\n\r\npython my_script.py\r\n<\/pre>\n<p>Submit the jobscript using: <\/p>\n<pre>qsub <em>scriptname<\/em><\/pre>\n<p>where <em>scriptname<\/em> is the name of your jobscript.<\/p>\n<h3>Parallel batch job submission<\/h3>\n<p>Create a batch submission script (which will load the modulefile in the jobscript), for example:<\/p>\n<pre>\r\n#!\/bin\/bash --login\r\n#$ -cwd             # Job will run from the current directory\r\n#$ -pe smp.pe 8     # Number of cores. Can be 2--32.\r\n                    # NO -V line - we load modulefiles in the jobscript\r\n\r\nmodule load apps\/python\/amico\/1.0.2\r\n\r\n# Specify how many cores are available. $NSLOTS is set to the number given above.\r\nexport OMP_NUM_THREADS=$NSLOTS\r\n\r\npython my_script.py\r\n<\/pre>\n<p>Submit the jobscript using: <\/p>\n<pre>qsub <em>scriptname<\/em><\/pre>\n<p>where <em>scriptname<\/em> is the name of your jobscript.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview scikit-cuda is a python module to provide Python interfaces to many of the functions in the CUDA device\/runtime, CUBLAS, CUFFT, and CUSOLVER libraries distributed as part of NVIDIA\u2019s CUDA Programming Toolkit. Version 0.5.1 is installed on the CSF (the most recent official release, we are aware that 0.5.3 is available but it is still noted in the change log of the software developer as &#8216;Under Development&#8217;, we tend to stick to stable releases of.. <a href=\"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/software\/applications\/scikitcuda\/\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"parent":86,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4677","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/4677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/comments?post=4677"}],"version-history":[{"count":4,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/4677\/revisions"}],"predecessor-version":[{"id":4702,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/4677\/revisions\/4702"}],"up":[{"embeddable":true,"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/pages\/86"}],"wp:attachment":[{"href":"https:\/\/ri.itservices.manchester.ac.uk\/csf3\/wp-json\/wp\/v2\/media?parent=4677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}