Skip to content

Enable Fat Runtime by default on x86 to help migration from Hyperscan. #213

@todd-richmond

Description

@todd-richmond

Hyperscan works correctly on a wide variet of CPUs / hypervisors, but we need to switch due to Intel's license change and this projects ongoing improvements. However, the current vectorscan release broke cpu instruction support and now causes illegal instructions

Compile with cmake and -DBUILD_AVX512=ON -DBUILD_AVX512VBMI=ON -DBUILD_BENCHMARKS=OFF -DBUILD_SHARED_LIBS=ON -DBOOST_ROOT=$instdir/boost

dmesg | tail -2
[24286.119118] traps: filterd[23693] trap invalid opcode ip:7f8924a1474d sp:7ffe3e6ddf18 error:0 in libhs.so.5.4.11[7f89
2491d000+53d000]
[26545.502283] traps: filterd[32556] trap invalid opcode ip:7f111e69a74d sp:7ffc40de0ab8 error:0 in libhs.so.5.4.11[7f11
1e5a3000+53d000]
cat /proc/cpuinfo
processor  : 0
vendor_id  : GenuineIntel
cpu family  : 6
model    : 45
model name  : Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz
stepping  : 7
microcode  : 0x1
cpu MHz    : 1999.999
cache size  : 16384 KB
physical id  : 0
siblings  : 1
core id    : 0
cpu cores  : 1
apicid    : 0
initial apicid  : 0
fpu    : yes
fpu_exception  : yes
cpuid level  : 13
wp    : yes
flags    : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm rsb_ctxsw tsc_adjust xsaveopt arat
bogomips  : 3999.99
clflush size  : 64
cache_alignment  : 64
address sizes  : 46 bits physical, 48 bits virtual
power management:
FeatureDetector
CPU Vendor String: GenuineIntel

CPU Vendor:
    AMD         = No
    Intel       = Yes

OS Features:
    OS AVX      = Yes
    OS AVX512   = No

Hardware Features:
    MMX         = Yes
    x64         = Yes
    ABM         = No
    RDRAND      = Yes
    RDSEED      = No
    BMI1        = No
    BMI2        = No
    ADX         = No
    MPX         = No
    PREFETCHW   = No
    PREFETCHWT1 = No
    RDPID       = No
    GFNI        = No
    VAES        = No

SIMD: 128-bit
    SSE         = Yes
    SSE2        = Yes
    SSE3        = Yes
    SSSE3       = Yes
    SSE4a       = No
    SSE4.1      = Yes
    SSE4.2      = Yes
    AES-NI      = Yes
    SHA         = No

SIMD: 256-bit
    AVX         = Yes
    XOP         = No
    FMA3        = No
    FMA4        = No
    AVX2        = No

SIMD: 512-bit
    AVX512-F         = No
    AVX512-CD        = No
    AVX512-PF        = No
    AVX512-ER        = No
    AVX512-VL        = No
    AVX512-BW        = No
    AVX512-DQ        = No
    AVX512-IFMA      = No
    AVX512-VBMI      = No
    AVX512-VPOPCNTDQ = No
    AVX512-4VNNIW    = No
    AVX512-4FMAPS    = No
    AVX512-VBMI2     = No
    AVX512-VPCLMUL   = No
    AVX512-VNNI      = No
    AVX512-BITALG    = No
    AVX512-BF16      = No

Summary:
    Safe to use AVX:     Yes
    Safe to use AVX512:  No

Metadata

Metadata

Assignees

No one assigned

    Labels

    not a bugThis isn't actually a bug

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions