Consultation on the Issue of Installing TiFlash on Servers Without AVX2 Instruction Set

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: 请教tiflash 安装服务器无AVX2指令集的问题

| username: 末0_0想

[TiDB Usage Environment] Production Environment
[TiDB Version] V7.5.0
[Reproduction Path]
I upgraded TiDB from 6.5.0 to 7.5.0 and found that TiFlash could not start properly. After investigation, I found:
Fail to check CPU flags: avx2 not supported. Require avx2 popcnt movbe.
The CPU does not support the AVX2 instruction set, causing TiFlash to fail to start.
Is there any command to skip this check or install it compatibly?
Here are the supported flags on my machine:
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx hypervisor lahf_lm epb dtherm ida arat pln pts hwp hwp_act_window hwp_epp hwp_pkg_req

My startup command is tiup cluster start xxx-tidb -N 10.18.104.165:9000

I checked previous posts, but experts did not clearly explain how to use tiflash --disable-cpu-check.

| username: Jellybean | Original post link

Reason:
When deploying TiFlash on a Linux AMD64 hardware platform, the CPU must support the AVX2 instruction set. Ensure that the command cat /proc/cpuinfo | grep avx2 produces output. When deploying TiFlash on a Linux ARM64 hardware platform, the CPU must support the ARMv8 architecture. Ensure that the command cat /proc/cpuinfo | grep 'crc32' | grep 'asimd' produces output. By using vector extension instruction sets, TiFlash’s vectorized engine can provide better performance.

You can try referring to this solution:

| username: redgame | Original post link

The server is a bit old…

| username: YuchongXU | Original post link

Downgrade the version or change the server.

| username: wangccsy | Original post link

Indeed, old servers lack the instructions of new machines, and if new software is not compatible with the old architecture, it becomes a problem.

| username: Daniel-W | Original post link

Today, I happened to encounter this issue in the learning environment. I’ll temporarily pull it up first.

| username: TiDBer_5Vo9nD1u | Original post link

It seems there’s no way, the CPU model is too old.

| username: YuchongXU | Original post link

Not supported

| username: system | Original post link

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.