{"id":468,"date":"2020-11-03T11:52:12","date_gmt":"2020-11-03T10:52:12","guid":{"rendered":"https:\/\/itrop.ird.fr\/wordpress\/?page_id=468"},"modified":"2024-01-29T15:20:44","modified_gmt":"2024-01-29T14:20:44","slug":"gpu","status":"publish","type":"page","link":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/","title":{"rendered":"Tutorials &#8211; GPU"},"content":{"rendered":"<h2>Use of GPU node for i-Trop cluster<\/h2>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Description<\/th>\n<th style=\"text-align: left;\">Know how to use GPU node in I-Trop cluster<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">Author<\/td>\n<td style=\"text-align: left;\">Julie ORJUELA (julie.orjuela@ird.fr) and Aurore COMTE (aurore.comte@ird.fr)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Creation date<\/td>\n<td style=\"text-align: left;\">27\/01\/2020<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">modification date<\/td>\n<td style=\"text-align: left;\">29\/01\/2024<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h3>Summary<\/h3>\n<p><!-- TOC depthFrom:2 depthTo:2 withLinks:1 updateOnSave:1 orderedList:0 --><\/p>\n<ul>\n<li><a href=\"#part-1\">Objective<\/a><\/li>\n<li><a href=\"#part-2\">What is a GPU node<\/a><\/li>\n<li><a href=\"#part-3\">Launch jobs in GPU node with Slurm<\/a><\/li>\n<li><a href=\"#part-4\">Resources supervision with nvidia<\/a><\/li>\n<li><a href=\"#liens\">Liens<\/a><\/li>\n<li><a href=\"#license\">License<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><a name=\"part-1\"><\/a><\/p>\n<h3>Objectives<\/h3>\n<p>Know how to launch a Slurm job in GPU node in I-Trop Cluster and monitoring jobs in GPU<\/p>\n<p><a name=\"part-\"><\/a><\/p>\n<h3>What is a GPU node?<\/h3>\n<p>GPU node contain graphic card used to do diff\u00e9rent types of analysis that can provide huge acceleration for certain types of parallel computing tasks (ie: phylogeny construction, image analysis, deeplearning...)<\/p>\n<p>Node <strong>GPU in I-trop cluster<\/strong>  has 8 graphic cards RTX2080, each with 124G de RAM. In total this node has 24 threads.  There is no connection between graphic cards, therefore you can't paralyse on several cards at the same time.<\/p>\n<p>To request a GPU, <strong>you need to ask to be add to the gpu_group<\/strong>.<br \/>\nThen the options below should be used in your job submission to ask for a gpu card.<\/p>\n<pre><code>#SBATCH -p gpu\n#SBATCH -A gpu_group\n#SBATCH --gres=gpu:1<\/code><\/pre>\n<p>Below an example of GPU usage to basecall a nanopore dataset with guppy:<\/p>\n<p><a name=\"part-3\"><\/a><\/p>\n<h2>Basecalling with guppy-gpu using the i-Trop GPU node<\/h2>\n<p>Guppy is a data processing toolkit that contains the Oxford Nanopore Technologies\u2019 basecalling algorithms, and several bioinformatic post-processing features.<\/p>\n<p>Basecalling with guppy can be launch using gyppy-gpu tool. In guppy commande you have to specify data containig fast5 raw read files (-i), the output repertory to write fastq files (-o), How many worker threads you are using cpu_threads_per_caller (-c) and the number of parallel basecallers to create   (-num_callers). We recommend to compress the fastq output (-compress_fastq).<\/p>\n<p>We recommend to basecaller a data set using a graphic card to obtain results in only one folder. If you split data you can enjoy of the whole of graphic cards but your data results will be in several folders. In each results folder, reads can be share names. So, you can lost information if you decide to merge it.<\/p>\n<h3>Creating a slurm scritp to basecalling in GPU<\/h3>\n<p>Copy data in node26 \/scratch before launching basecalling.<\/p>\n<p>Create a sbatch script to allocate ressources by using slurm. Here, sbatch script <code>lauchGuppyGPU.sbash<\/code> takes 8 threads for lauch guppy-gpu, partition <code>-p gpu<\/code>. If you are using i-Trop GPU you are into <code>gpu_group<\/code> so, give this parametter to slurm whit <code>-A <\/code> option and also <code>--gres=gpu:1<\/code> to specify number of GPU per node.<\/p>\n<pre><code>#!\/bin\/bash\n#SBATCH -J bc \n#SBATCH -p gpu\n#SBATCH -A gpu_group\n#SBATCH --gres=gpu:1\n#SBATCH -c 8\n\nINPUT=$1\nOUTPUT=$2\nMODEL=$3\n\n#loading modules\nmodule load bioinfo\/guppy-gpu\/6.3.7\n\n#running basecalling\nguppy_basecaller -c ${MODEL} -i ${INPUT} --recursive -s ${OUTPUT} --num_callers 8 --gpu_runners_per_device 8 --device auto --min_qscore 7 --compress_fastq <\/code><\/pre>\n<p>Now you can launch lauchGuppyGPU.sbash script giving input, output and the model :<\/p>\n<pre><code>$ sbatch lauchGuppyGPU.sbash \/path\/to\/fast5 \/path\/to\/fastq model<\/code><\/pre>\n<p>Note:<br \/>\nBeside the path of our fast5 files folder (-i), the basecaller requires an output path (-s) and a config file or the flowcell\/kit combination. In order to get a list of possible flowcell\/kit combinations and config files, we use:<\/p>\n<pre><code>$ guppy_basecaller --print_workflows<\/code><\/pre>\n<p><a name=\"part-4\"><\/a><\/p>\n<h2>Resources supervision with nvidia<\/h2>\n<pre><code>$ nvidia-smi<\/code><\/pre>\n<h3>Liens<\/h3>\n<p><a name=\"liens\"><\/a><\/p>\n<ul>\n<li>Cours li\u00e9s : <a href=\"https:\/\/southgreenplatform.github.io\/tutorials\/\/cluster-itrop\/Slurm\/\">Slurm Trainings<\/a><\/li>\n<\/ul>\n<hr \/>\n<h3>License<\/h3>\n<p><a name=\"license\"><\/a><\/p>\n<div>\nThe resource material is licensed under the Creative Commons Attribution 4.0 International License (<a href=\"http:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/\">here<\/a>).<br \/>\n<center><img decoding=\"async\" width=\"25%\" class=\"img-responsive\" src=\"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png\"\/><br \/>\n<\/center>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Use of GPU node for i-Trop cluster Description Know how to use GPU node in I-Trop cluster Author Julie ORJUELA&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1325,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-468","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tutorials - GPU - itrop<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutorials - GPU - itrop\" \/>\n<meta property=\"og:description\" content=\"Use of GPU node for i-Trop cluster Description Know how to use GPU node in I-Trop cluster Author Julie ORJUELA&hellip; Lire la suite\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\" \/>\n<meta property=\"og:site_name\" content=\"itrop\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-29T14:20:44+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ItropBioinfo\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\",\"url\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\",\"name\":\"Tutorials - GPU - itrop\",\"isPartOf\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png\",\"datePublished\":\"2020-11-03T10:52:12+00:00\",\"dateModified\":\"2024-01-29T14:20:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage\",\"url\":\"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png\",\"contentUrl\":\"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/bioinfo.ird.fr\/index.php\/en\/front-page-2\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutorials &#8211; FR\",\"item\":\"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tutorials &#8211; GPU\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bioinfo.ird.fr\/#website\",\"url\":\"https:\/\/bioinfo.ird.fr\/\",\"name\":\"itrop\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bioinfo.ird.fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/bioinfo.ird.fr\/#organization\",\"name\":\"i-Trop\",\"url\":\"https:\/\/bioinfo.ird.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bioinfo.ird.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/bioinfo.ird.fr\/wp-content\/uploads\/2021\/10\/i-tropTwt5.png\",\"contentUrl\":\"https:\/\/bioinfo.ird.fr\/wp-content\/uploads\/2021\/10\/i-tropTwt5.png\",\"width\":1356,\"height\":1356,\"caption\":\"i-Trop\"},\"image\":{\"@id\":\"https:\/\/bioinfo.ird.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ItropBioinfo\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutorials - GPU - itrop","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/","og_locale":"fr_FR","og_type":"article","og_title":"Tutorials - GPU - itrop","og_description":"Use of GPU node for i-Trop cluster Description Know how to use GPU node in I-Trop cluster Author Julie ORJUELA&hellip; Lire la suite","og_url":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/","og_site_name":"itrop","article_modified_time":"2024-01-29T14:20:44+00:00","og_image":[{"url":"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@ItropBioinfo","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/","url":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/","name":"Tutorials - GPU - itrop","isPartOf":{"@id":"https:\/\/bioinfo.ird.fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage"},"image":{"@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage"},"thumbnailUrl":"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png","datePublished":"2020-11-03T10:52:12+00:00","dateModified":"2024-01-29T14:20:44+00:00","breadcrumb":{"@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#primaryimage","url":"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png","contentUrl":"http:\/\/creativecommons.org.nz\/wp-content\/uploads\/2012\/05\/by-nc-sa1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/gpu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/bioinfo.ird.fr\/index.php\/en\/front-page-2\/"},{"@type":"ListItem","position":2,"name":"Tutorials &#8211; FR","item":"https:\/\/bioinfo.ird.fr\/index.php\/tutorials-fr\/"},{"@type":"ListItem","position":3,"name":"Tutorials &#8211; GPU"}]},{"@type":"WebSite","@id":"https:\/\/bioinfo.ird.fr\/#website","url":"https:\/\/bioinfo.ird.fr\/","name":"itrop","description":"","publisher":{"@id":"https:\/\/bioinfo.ird.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bioinfo.ird.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/bioinfo.ird.fr\/#organization","name":"i-Trop","url":"https:\/\/bioinfo.ird.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bioinfo.ird.fr\/#\/schema\/logo\/image\/","url":"https:\/\/bioinfo.ird.fr\/wp-content\/uploads\/2021\/10\/i-tropTwt5.png","contentUrl":"https:\/\/bioinfo.ird.fr\/wp-content\/uploads\/2021\/10\/i-tropTwt5.png","width":1356,"height":1356,"caption":"i-Trop"},"image":{"@id":"https:\/\/bioinfo.ird.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ItropBioinfo"]}]}},"_links":{"self":[{"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/pages\/468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/comments?post=468"}],"version-history":[{"count":6,"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/pages\/468\/revisions"}],"predecessor-version":[{"id":4280,"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/pages\/468\/revisions\/4280"}],"up":[{"embeddable":true,"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/pages\/1325"}],"wp:attachment":[{"href":"https:\/\/bioinfo.ird.fr\/index.php\/wp-json\/wp\/v2\/media?parent=468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}