Недавно я использовал tiny-dnn, однако, когда я пытаюсь использовать инструкции AVX / AVX2 для обучения example_minist_train, например, установлено (USE_AVX ON), я получил ошибку Недопустимая инструкция (ядро сброшено). Я пытаюсь отладить в Clion-IDE, я получил ошибку в GDB:
Программа получила сигнал SIGILL, незаконная инструкция.
0x0000000000448b66 в tiny_dnn :: weight_init :: xavier :: fill (std :: vector> *, без знака long, без знака long) ()
Я использую 64-битную систему Ubuntu 14.04 STL, и информация о моем процессоре выглядит так:
процессор: 31
vendor_id: GenuineIntel
семья процессора: 6
модель: 62
Название модели: Intel (R) Xeon (R) CPU E5-2650 v2 @ 2.60GHz
степпинг: 4
микрокод: 0x428
процессор, МГц: 2600,101
размер кеша: 20480 кб
физический идентификатор: 1
братьев и сестер: 16
основной идентификатор: 7
ядер процессора: 8
апицид: 47
начальная апицид: 47
фпу: да
fpu_exception: да
Уровень процессора: 13
wp: да
флаги: 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
pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl
xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor
ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2
x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm ida
arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase
Smep Erms xsaveoptошибки:
bogomips: 5201,86
размер clflush: 64
cache_alignment: 64
размеры адресов: физические 46 бит, виртуальные 48 бит
управление энергопотреблением:
когда я использую SSE, например установите (USE_SSE ON) и установите (USE_AVX OFF), установите (USE_AVX2 OFF), программа будет работать нормально, как я могу решить эту проблему? Спасибо!
Задача ещё не решена.
Других решений пока нет …