Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-9668

[C++]Got AVX512 method compiled in, but AVX512 instructions is not supported

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • None
    • None
    • C++
    • None
    • Centos, c++ (GCC) 7.4.0

    Description

      When using garrow_numeric_array_compare() to compare arrow array, I got 

       arrow::compute::aggregate::AddSumAvx512AggKernels()  called.

      But my compute doesn't support avx512 instructions set, so it crashed and reported:

      Program terminated with signal 4, Illegal instruction.

      #0  0x00007efc082fe1d7 in arrow::compute::aggregate::AddSumAvx512AggKernels(arrow::compute::ScalarAggregateFunction*) () from /usr/local/lib64/libarrow.so.200

       

      Is this a bug?

      I found that  CXX_SUPPORTS_AVX512 flag is decided by whether compiler could compile with

      -march=skylake-avx512 -mbmi2. In my opinion, these options is just tell the compiler try to compile with avx512, if not supported, it doesn't complain anything.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              DongxiaoSong Dongxiao Song
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: