|
4 | 4 |
|
5 | 5 | from libensemble.message_numbers import EVAL_GEN_TAG, EVAL_SIM_TAG |
6 | 6 | from libensemble.resources.resources import Resources |
7 | | -from libensemble.resources.scheduler import InsufficientFreeResources, InsufficientResourcesError, ResourceScheduler |
| 7 | +from libensemble.resources.scheduler import InsufficientResourcesError, ResourceScheduler |
8 | 8 | from libensemble.utils.misc import extract_H_ranges |
9 | 9 |
|
10 | 10 | logger = logging.getLogger(__name__) |
@@ -76,13 +76,13 @@ def assign_resources(self, rsets_req, use_gpus=None, user_params=[]): |
76 | 76 | """ |
77 | 77 | rset_team = None |
78 | 78 | if self.resources is not None: |
79 | | - # Try schedule to non-gpu rsets first |
80 | | - if use_gpus is None: |
| 79 | + # When GPUs exist and use_gpus not explicitly set, try GPU rsets first |
| 80 | + if use_gpus is None and self.sched.resources.total_num_gpu_rsets > 0: |
81 | 81 | try: |
82 | | - rset_team = self.sched.assign_resources(rsets_req, use_gpus=False, user_params=user_params) |
| 82 | + rset_team = self.sched.assign_resources(rsets_req, use_gpus=True, user_params=user_params) |
83 | 83 | return rset_team |
84 | | - except (InsufficientFreeResources, InsufficientResourcesError): |
85 | | - pass |
| 84 | + except InsufficientResourcesError: |
| 85 | + pass # More rsets requested than GPU rsets exist - fall back to any |
86 | 86 |
|
87 | 87 | rset_team = self.sched.assign_resources(rsets_req, use_gpus, user_params) |
88 | 88 | return rset_team |
@@ -160,11 +160,6 @@ def _req_resources_sim(self, libE_info, user_params, H, H_rows): |
160 | 160 | ) |
161 | 161 | else: |
162 | 162 | num_rsets_req = 1 |
163 | | - if "use_gpus" in H.dtype.names: |
164 | | - if np.any(H[H_rows]["use_gpus"]): |
165 | | - use_gpus = True |
166 | | - else: |
167 | | - use_gpus = False |
168 | 163 | if "num_gpus" in H.dtype.names: |
169 | 164 | gpus_per_rset = self.resources.resource_manager.gpus_per_rset |
170 | 165 | num_rsets_req_for_gpus = AllocSupport._convert_rows_to_rsets( |
|
0 commit comments