@@ -63,10 +63,8 @@ def generate_slurm_config_files(
6363 is_default_queue = True # The first queue in the queues list is the default queue
6464 for queue in queues :
6565 for file_type in ["partition" , "gres" ]:
66- if file_type == "gres" and no_gpu :
67- continue
6866 _generate_queue_config (
69- queue ["Name" ], queue , is_default_queue , file_type , env , pcluster_subdirectory , dryrun
67+ queue ["Name" ], queue , is_default_queue , file_type , env , pcluster_subdirectory , dryrun , no_gpu = no_gpu
7068 )
7169 is_default_queue = False
7270
@@ -109,14 +107,23 @@ def _get_head_node_private_ip():
109107 return _get_metadata ("local-ipv4" )
110108
111109
112- def _generate_queue_config (queue_name , queue_config , is_default_queue , file_type , jinja_env , output_dir , dryrun ):
110+ def _generate_queue_config (
111+ queue_name , queue_config , is_default_queue , file_type , jinja_env , output_dir , dryrun , no_gpu = False
112+ ):
113113 log .info ("Generating slurm_parallelcluster_%s_%s.conf" , queue_name , file_type )
114114 rendered_template = jinja_env .get_template (f"slurm_parallelcluster_queue_{ file_type } .conf" ).render (
115- queue_name = queue_name , queue_config = queue_config , is_default_queue = is_default_queue
115+ queue_name = queue_name , queue_config = queue_config , is_default_queue = is_default_queue , no_gpu = no_gpu
116116 )
117117 if not dryrun :
118118 filename = path .join (output_dir , f"slurm_parallelcluster_{ queue_name } _{ file_type } .conf" )
119- _write_rendered_template_to_file (rendered_template , filename )
119+ if file_type == "gres" and no_gpu :
120+ _write_rendered_template_to_file (
121+ "# This file is automatically generated by pcluster\n "
122+ "# Skipping GPUs configuration because Nvidia driver is not installed" ,
123+ filename ,
124+ )
125+ else :
126+ _write_rendered_template_to_file (rendered_template , filename )
120127
121128
122129def _generate_slurm_parallelcluster_configs (
0 commit comments