Repository: pytorch
Issue: [tracking task] FBGEMM guarding AVX2 properly
Labels: module: build,triaged,module: third_party

## 🐛 Bug

Since the commit 18de330e8639249d4e8c95b2f357983890458d99, `USE_FBGEMM` is set to 1 in the build system if the compiler has the support for AVX2 or higher, and FBGEMM is built as part of PyTorch.

This causes an issue on the systems that have the compiler with the support for AVX2 or higher but the CPU without the corresponding support.  The build system builds PyTorch, generating code for AVX2 or higher, which the CPU cannot handle, hence the `Illegal Instruction (core dumped)` error.

I can work around the issue by setting the environment variable `NO_FBGEMM=1`.

## To Reproduce

Steps to reproduce the behavior:

1. `git clone --recursive https://github.com/pytorch/pytorch.git`
1. `cd pytorch`
1. `python setup.py build develop`
1. `python -c "import torch"`

<!-- If you have a code sample, error messages, stack traces, please provide it here as well -->
```
# python -c "import torch"
Illegal instruction (core dumped)

# gdb python core
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python...done.

warning: core file may not match specified executable file.
[New LWP 8034]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `python -c import torch'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007f497b050e3c in std::__detail::_Prime_rehash_policy::_Prime_rehash_policy (this=0x557819ce2570, __z=3.06604104e-41) at /usr/include/c++/5/bits/hashtable_policy.h:460
460         _Prime_rehash_policy(float __z = 1.0) noexcept
(gdb) bt
#0  0x00007f497b050e3c in std::__detail::_Prime_rehash_policy::_Prime_rehash_policy (this=0x557819ce2570, __z=3.06604104e-41) at /usr/include/c++/5/bits/hashtable_policy.h:460
#1  0x00007f497c3dd727 in std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> const, std::function<std::unique_ptr<caffe2::OperatorBase, std::default_delete<caffe2::OperatorBase> > (caffe2::OperatorDef const&, caffe2::Workspace*)> >, std::allocator<std::pair<std::__cxx11::basic_string<c
har, std::char_traits<char>, std::allocator<char> > const, std::function<std::unique_ptr<caffe2::OperatorBase, std::default_delete<caffe2::OperatorBase> > (caffe2::OperatorDef const&, caffe2::Workspace*)> > >, s
td::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>
> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_Hashtable() (this=0x557819ce2550)
    at /usr/include/c++/5/bits/hashtable.h:394
#2  0x00007f497c3dd74e in std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::function<std::unique_ptr<caffe2::OperatorBase, std::default_delete<caffe2::Opera
torBase> > (caffe2::OperatorDef const&, caffe2::Workspace*)>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char
_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::function<std::unique_ptr<caffe2::OperatorBase, std::d
efault_delete<caffe2::OperatorBase> > (caffe2::OperatorDef const&, caffe2::Workspace*)> > > >::unordered_map() (this=0x557819ce2550) at /usr/include/c++/5/bits/unordered_map.h:132
#3  0x00007f497c3dd784 in c10::Registry<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::unique_ptr<caffe2::OperatorBase, std::default_delete<caffe2::OperatorBase> >, caffe2:
:OperatorDef const&, caffe2::Workspace*>::Registry (this=0x557819ce2550) at ../c10/util/Registry.h:58
#4  0x00007f497c3d6a3e in caffe2::CPUOperatorRegistry[abi:cxx11]() () at ../caffe2/core/operator.cc:320
#5  0x00007f497b03b4e2 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at ../caffe2/quantization/server/conv_dnnlowp_op.cc:1502
#6  0x00007f497b03bd53 in _GLOBAL__sub_I_conv_dnnlowp_op.cc(void) () at ../caffe2/quantization/server/conv_dnnlowp_op.cc:1526
#7  0x00007f49914306ba in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0x7ffcd85f16a8, env=env@entry=0x5578195a3980) at dl-init.c:72
#8  0x00007f49914307cb in call_init (env=0x5578195a3980, argv=0x7ffcd85f16a8, argc=3, l=<optimized out>) at dl-init.c:30
#9  _dl_init (main_map=main_map@entry=0x557819968e70, argc=3, argv=0x7ffcd85f16a8, env=0x5578195a3980) at dl-init.c:120
#10 0x00007f49914358e2 in dl_open_worker (a=a@entry=0x7ffcd85eefd0) at dl-open.c:575
#11 0x00007f4991430564 in _dl_catch_error (objname=objname@entry=0x7ffcd85eefc0, errstring=errstring@entry=0x7ffcd85eefc8, mallocedp=mallocedp@entry=0x7ffcd85eefbf,
    operate=operate@entry=0x7f49914354d0 <dl_open_worker>, args=args@entry=0x7ffcd85eefd0) at dl-error.c:187
#12 0x00007f4991434da9 in _dl_open (file=0x7f498e2ea050 "/workspace/dl/pytorch/torch/_C.cpython-36m-x86_64-linux-gnu.so", mode=-2147483391,
    caller_dlopen=0x5578178a098a <_PyImport_FindSharedFuncptr+138>, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0x5578195a3980) at dl-open.c:660
#13 0x00007f4990c35f09 in dlopen_doit (a=a@entry=0x7ffcd85ef200) at dlopen.c:66
#14 0x00007f4991430564 in _dl_catch_error (objname=0x5578195a68c0, errstring=0x5578195a68c8, mallocedp=0x5578195a68b8, operate=0x7f4990c35eb0 <dlopen_doit>, args=0x7ffcd85ef200) at dl-error.c:187
#15 0x00007f4990c36571 in _dlerror_run (operate=operate@entry=0x7f4990c35eb0 <dlopen_doit>, args=args@entry=0x7ffcd85ef200) at dlerror.c:163
#16 0x00007f4990c35fa1 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#17 0x00005578178a098a in _PyImport_FindSharedFuncptr () at /tmp/build/80754af9/python_1540319457073/work/Python/dynload_shlib.c:95
#18 0x00005578178cbfa0 in _PyImport_LoadDynamicModuleWithSpec () at /tmp/build/80754af9/python_1540319457073/work/Python/importdl.c:129
#19 0x00005578178cc1e5 in _imp_create_dynamic_impl.isra.12 (file=0x0, spec=0x7f498e2e8198) at /tmp/build/80754af9/python_1540319457073/work/Python/import.c:1994
#20 _imp_create_dynamic () at /tmp/build/80754af9/python_1540319457073/work/Python/clinic/import.c.h:289
#21 0x00005578177c83a1 in PyCFunction_Call () at /tmp/build/80754af9/python_1540319457073/work/Objects/methodobject.c:114
#22 0x00005578178768ff in do_call_core (kwdict=0x7f498e2f4630, callargs=0x7f49901e86d8, func=0x7f4990514f30) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5102
#23 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3404
#24 0x0000557817848124 in _PyEval_EvalCodeWithName () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4166
#25 0x0000557817848fc1 in fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4978
#26 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#27 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#28 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#29 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#30 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#31 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#32 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#33 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#34 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#35 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#36 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#37 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#38 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#39 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#40 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#41 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#42 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#43 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#44 0x00005578178493fb in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#45 _PyFunction_FastCallDict () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5021
#46 0x00005578177c579f in _PyObject_FastCallDict () at /tmp/build/80754af9/python_1540319457073/work/Objects/abstract.c:2310
#47 0x00005578178081e0 in _PyObject_CallMethodIdObjArgs () at /tmp/build/80754af9/python_1540319457073/work/Objects/abstract.c:2796
#48 0x00005578177bc2a0 in PyImport_ImportModuleLevelObject () at /tmp/build/80754af9/python_1540319457073/work/Python/import.c:1578
#49 0x0000557817873eb6 in import_name (level=0x5578179f3a00 <small_ints+160>, fromlist=0x7f499041afd0, name=0x7f499030f2b0, f=0x5578195711d8) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5231
#50 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:2899
#51 0x0000557817849ad9 in _PyEval_EvalCodeWithName (qualname=0x0, name=0x0, closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwstep=2, kwcount=<optimized out>, kwargs=0x0, kwnames=0x0, argcount=0, args=0x0,
    locals=0x7f49904985e8, globals=0x7f49904985e8, _co=0x7f4990379ed0) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4166
#52 PyEval_EvalCodeEx () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4187
#53 0x000055781784a87c in PyEval_EvalCode (co=co@entry=0x7f4990379ed0, globals=globals@entry=0x7f49904985e8, locals=locals@entry=0x7f49904985e8)
    at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:731
#54 0x000055781786efed in builtin_exec_impl.isra.11 (locals=0x7f49904985e8, globals=0x7f49904985e8, source=0x7f4990379ed0) at /tmp/build/80754af9/python_1540319457073/work/Python/bltinmodule.c:983
#55 builtin_exec () at /tmp/build/80754af9/python_1540319457073/work/Python/clinic/bltinmodule.c.h:283
#56 0x00005578177c83a1 in PyCFunction_Call () at /tmp/build/80754af9/python_1540319457073/work/Objects/methodobject.c:114
#57 0x00005578178768ff in do_call_core (kwdict=0x7f4990305d38, callargs=0x7f499030f848, func=0x7f499148d9d8) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5102
#58 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3404
#59 0x0000557817848124 in _PyEval_EvalCodeWithName () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4166
#60 0x0000557817848fc1 in fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4978
#61 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#62 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#63 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#64 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#65 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#66 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#67 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=1, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#68 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#69 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#70 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#71 0x0000557817848d8b in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#72 fast_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4954
#73 0x000055781784ecf5 in call_function () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4858
#74 0x000055781787171a in _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:3335
#75 0x00005578178493fb in _PyFunction_FastCall (globals=<optimized out>, nargs=2, args=<optimized out>, co=<optimized out>) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4919
#76 _PyFunction_FastCallDict () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5021
#77 0x00005578177c579f in _PyObject_FastCallDict () at /tmp/build/80754af9/python_1540319457073/work/Objects/abstract.c:2310
#78 0x00005578178081e0 in _PyObject_CallMethodIdObjArgs () at /tmp/build/80754af9/python_1540319457073/work/Objects/abstract.c:2796
#79 0x00005578177bc2a0 in PyImport_ImportModuleLevelObject () at /tmp/build/80754af9/python_1540319457073/work/Python/import.c:1578
#80 0x0000557817873eb6 in import_name (level=0x5578179f3a00 <small_ints+160>, fromlist=0x5578179aca90 <_Py_NoneStruct>, name=0x7f4990493a78, f=0x55781958cc68)
    at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:5231
#81 _PyEval_EvalFrameDefault () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:2899
#82 0x0000557817849ad9 in _PyEval_EvalCodeWithName (qualname=0x0, name=0x0, closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwstep=2, kwcount=<optimized out>, kwargs=0x0, kwnames=0x0, argcount=0, args=0x0,
    locals=0x7f49904d8120, globals=0x7f49904d8120, _co=0x7f49904949c0) at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4166
#83 PyEval_EvalCodeEx () at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:4187
#84 0x000055781784a87c in PyEval_EvalCode (co=co@entry=0x7f49904949c0, globals=globals@entry=0x7f49904d8120, locals=locals@entry=0x7f49904d8120)
    at /tmp/build/80754af9/python_1540319457073/work/Python/ceval.c:731
#85 0x00005578178cb074 in run_mod () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:1025
#86 0x00005578178cb10d in PyRun_StringFlags () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:949
#87 0x00005578178cb16f in PyRun_SimpleStringFlags () at /tmp/build/80754af9/python_1540319457073/work/Python/pythonrun.c:445
#88 0x00005578178cef7a in run_command (cf=0x7ffcd85f149c, command=0x557819537f40 L"import torch\n") at /tmp/build/80754af9/python_1540319457073/work/Modules/main.c:301
#89 Py_Main () at /tmp/build/80754af9/python_1540319457073/work/Modules/main.c:749
#90 0x0000557817796b4e in main () at /tmp/build/80754af9/python_1540319457073/work/Programs/python.c:69
#91 0x00007f4990e59830 in __libc_start_main (main=0x557817796a60 <main>, argc=3, argv=0x7ffcd85f16a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcd85f1698)
    at ../csu/libc-start.c:291
#92 0x00005578178781a8 in _start () at ../sysdeps/x86_64/elf/start.S:103
```
## Expected behavior

`pytorch -c "import torch"` is expected to succeed without any error
<!-- A clear and concise description of what you expected to happen. -->

## Environment

Please copy and paste the output from our
[environment collection script](https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py)
(or fill out the checklist below manually).

You can get the script and run it with:
```
wget https://raw.githubusercontent.com/pytorch/pytorch/master/torch/utils/collect_env.py
# For security purposes, please check the contents of collect_env.py before running it.
python collect_env.py
```

 - PyTorch Version (e.g., 1.0): github master branch at 8752214fb7534d3d3f83c1a459f24c57db86cd10
 - OS (e.g., Linux): Ubuntu 16.04.5 LTS
 - How you installed PyTorch (`conda`, `pip`, source): source
 - Build command you used (if compiling from source): `python setup.py build develop`
 - Python version: 3.6.7
 - CUDA/cuDNN version: 10.0/7.4.1
 - GPU models and configuration: Quadro GV100 32GB
 - Any other relevant information:

## Additional context

<!-- Add any other context about the problem here. -->
```
# cat /proc/cpuinfo                                                                                                                                        [164/9317]
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 1
cpu cores       : 4
apicid          : 2
initial apicid  : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 2
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 2
cpu cores       : 4
apicid          : 4
initial apicid  : 4
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 6
initial apicid  : 6
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 4
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 1
initial apicid  : 1
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 5
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 1
cpu cores       : 4
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xto
pology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 6
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 2
cpu cores       : 4
apicid          : 5
initial apicid  : 5
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

processor       : 7
vendor_id       : GenuineIntel
cpu family      : 6
model           : 26
model name      : Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
stepping        : 5
microcode       : 0x1d
cpu MHz         : 2668.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 7
initial apicid  : 7
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ssbd ibrs ibpb stibp kaiser tpr_shadow vnmi flexpriority ept vpid dtherm ida flush_l1d
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips        : 5345.60
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:


cc @malfet @seemethere @walterddr