lahwaacz commented on issue #20848:
URL: https://github.com/apache/arrow/issues/20848#issuecomment-2100043806

   It appears that pyarrow requires a CPU with SSE 4.1 due to the 
[PINSRQ](https://www.felixcloutier.com/x86/pinsrb:pinsrd:pinsrq) instruction:
   
   ```
   $ python -m venv .venv
   $ source .venv/bin/activate
   $ pip install pyarrow
   Collecting pyarrow
     Using cached pyarrow-16.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.metadata 
(3.0 kB)
   Collecting numpy>=1.16.6 (from pyarrow)
     Using cached 
numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
 (61 kB)
   Using cached pyarrow-16.0.0-cp312-cp312-manylinux_2_28_x86_64.whl (40.8 MB)
   Using cached 
numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.0 
MB)
   Installing collected packages: numpy, pyarrow
   Successfully installed numpy-1.26.4 pyarrow-16.0.0
   $ objdump -S 
.venv/lib/python3.12/site-packages/pyarrow/lib.cpython-312-x86_64-linux-gnu.so 
| grep pinsrq
      6e8b2:    66 48 0f 3a 22 c2 01    pinsrq $0x1,%rdx,%xmm0
      6e8cd:    66 48 0f 3a 22 c2 01    pinsrq $0x1,%rdx,%xmm0
      6e8eb:    66 48 0f 3a 22 c2 01    pinsrq $0x1,%rdx,%xmm0
      6e90d:    66 48 0f 3a 22 c0 01    pinsrq $0x1,%rax,%xmm0
      6e93a:    66 48 0f 3a 22 c0 01    pinsrq $0x1,%rax,%xmm0
      6e9df:    66 48 0f 3a 22 c0 01    pinsrq $0x1,%rax,%xmm0
      6e9fd:    66 48 0f 3a 22 c0 01    pinsrq $0x1,%rax,%xmm0
      6ea1b:    66 48 0f 3a 22 c0 01    pinsrq $0x1,%rax,%xmm0
   ...
   ```
   
   The first PINSRQ instruction gets called right at the module import.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to