diff --git a/bfps/_code.py b/bfps/_code.py index cfddb6b3a12048664807b967ca6d4dd2f031739c..297749f50417336486088ce34b738d7a9f055b77 100644 --- a/bfps/_code.py +++ b/bfps/_code.py @@ -323,6 +323,14 @@ class _code(_base): elif self.host_info['type'] == 'IBMLoadLeveler': suffix = self.simname + '_{0}'.format(iter0) job_script_name = 'run_' + suffix + '.sh' + energy_policy_tag = ( + 'bfps' + + '_np{0}_ntpp{1}'.format( + nb_processes, nb_threads_per_process) + + '_Nx{0}_Ny{1}_Nz{2}'.format( + self.parameters['nx'], self.parameters['ny'], self.parameters['nz'])) + if 'nparticles' in self.parameters.keys(): + energy_policy_tag += '_nparticles{0}'.format(self.parameters['nparticles']) if (njobs == 1): self.write_IBMLoadLeveler_file_single_job( file_name = os.path.join(self.work_dir, job_script_name), @@ -333,7 +341,8 @@ class _code(_base): out_file = out_file + '_' + suffix, err_file = err_file + '_' + suffix, nb_mpi_processes = nb_processes, - nb_threads_per_process = nb_threads_per_process) + nb_threads_per_process = nb_threads_per_process, + energy_policy_tag = energy_policy_tag) else: self.write_IBMLoadLeveler_file_many_job( file_name = os.path.join(self.work_dir, job_script_name), @@ -345,7 +354,8 @@ class _code(_base): err_file = err_file + '_' + suffix, njobs = njobs, nb_mpi_processes = nb_processes, - nb_threads_per_process = nb_threads_per_process) + nb_threads_per_process = nb_threads_per_process, + energy_policy_tag = energy_policy_tag) submit_atoms = ['llsubmit'] if not no_submit: @@ -375,7 +385,8 @@ class _code(_base): out_file = None, err_file = None, nb_mpi_processes = None, - nb_threads_per_process = None): + nb_threads_per_process = None, + energy_policy_tag = 'bfps'): script_file = open(file_name, 'w') script_file.write('# @ shell=/bin/bash\n') @@ -423,7 +434,7 @@ class _code(_base): nb_processes_per_node = int(nb_cpus_per_node // nb_threads_per_process) first_node_tasks = int(nb_mpi_processes - (nb_nodes-1)*nb_processes_per_node) - script_file.write('# @ energy_policy_tag = {0}\n'.format(self.simname)) + script_file.write('# @ energy_policy_tag = {0}\n'.format(energy_policy_tag)) script_file.write('# @ minimize_time_to_solution = yes\n') script_file.write('# @ resources = ConsumableCpus({})\n'.format(nb_threads_per_process)) script_file.write('# @ network.MPI = sn_all,not_shared,us\n') @@ -475,7 +486,8 @@ class _code(_base): err_file = None, njobs = 2, nb_mpi_processes = None, - nb_threads_per_process = None): + nb_threads_per_process = None, + energy_policy_tag = 'bfps'): assert(type(self.host_info['environment']) != type(None)) script_file = open(file_name, 'w') script_file.write('# @ shell=/bin/bash\n') @@ -530,7 +542,7 @@ class _code(_base): script_file.write('# @ resources = ConsumableCpus({})\n'.format(nb_threads_per_process)) script_file.write('# @ network.MPI = sn_all,not_shared,us\n') script_file.write('# @ wall_clock_limit = {0}:{1:0>2d}:00\n'.format(hours, minutes)) - script_file.write('# @ energy_policy_tag = {0}\n'.format(self.simname)) + script_file.write('# @ energy_policy_tag = {0}\n'.format(energy_policy_tag)) script_file.write('# @ minimize_time_to_solution = yes\n') assert type(self.host_info['environment']) != type(None) script_file.write('# @ node = {0}\n'.format(nb_nodes))