Skip to content

[C++] compute: Why AddMinMaxAvx512AggKernels add AVX2 in some cases #43687

@mapleFU

Description

@mapleFU

Describe the enhancement requested

void AddMinMaxAvx512AggKernels(ScalarAggregateFunction* func) {
  // Enable 32/64 int types for avx512 variants, no advantage on 8/16 int.
  AddMinMaxKernels(MinMaxInitAvx512, {int32(), uint32(), int64(), uint64()}, func,
                   SimdLevel::AVX512);
  AddMinMaxKernels(MinMaxInitAvx512, TemporalTypes(), func, SimdLevel::AVX512);
  AddMinMaxKernels(MinMaxInitAvx512, BaseBinaryTypes(), func, SimdLevel::AVX2);
  AddMinMaxKernel(MinMaxInitAvx512, Type::FIXED_SIZE_BINARY, func, SimdLevel::AVX2);
  AddMinMaxKernel(MinMaxInitAvx512, Type::INTERVAL_MONTHS, func, SimdLevel::AVX512);
}

Here TemporalTypes() and BaseBinaryTypes() just add SimdLevel::AVX2. Would this intented or just a mistake?

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions