File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -497,12 +497,15 @@ class kernel_bundle_impl {
497
497
bool isInterop () const { return MIsInterop; }
498
498
499
499
void filterImages (const kernel_id &KernelId) {
500
+ auto ImgHasKernelPred = [&KernelId](const device_image_plain &Img) {
501
+ return Img.has_kernel (KernelId);
502
+ };
503
+ const size_t NumRequiredDevImgs = std::count_if (
504
+ MDeviceImages.begin (), MDeviceImages.end (), ImgHasKernelPred);
500
505
std::vector<device_image_plain> FilteredDeviceImages;
506
+ FilteredDeviceImages.reserve (NumRequiredDevImgs);
501
507
std::copy_if (MDeviceImages.begin (), MDeviceImages.end (),
502
- std::back_inserter (FilteredDeviceImages),
503
- [&KernelId](const device_image_plain &Img) {
504
- return Img.has_kernel (KernelId);
505
- });
508
+ std::back_inserter (FilteredDeviceImages), ImgHasKernelPred);
506
509
MDeviceImages = FilteredDeviceImages;
507
510
}
508
511
You can’t perform that action at this time.
0 commit comments