mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software > Mlucas

Reply
 
Thread Tools
Old 2018-02-24, 02:25   #89
ewmayer
2ω=0
 
ewmayer's Avatar
 
Sep 2002
República de California

2×13×443 Posts
Default

@Victor:
Thanks - same preprocessor diagnostics and lrint() inlining as my Core2 64-bit OS X build, so you're probably right re. the strange behavior of the Mingw64-based scalar-code compilation. As long as the SIMD builds work, a low-priority issue, to be sure.

Last fiddled with by ewmayer on 2018-02-24 at 02:26
ewmayer is offline   Reply With Quote
Old 2018-04-01, 09:21   #90
Lorenzo
 
Lorenzo's Avatar
 
Aug 2010
Republic of Belarus

101010102 Posts
Default

Hello! Tried compile mlucas on Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz with AVX512 but without success. For now i haven't access to this system however i would like to post my experience:
Code:
processor       : 55
vendor_id       : GenuineIntel
cpu family      : 6
model           : 85
model name      : Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz
stepping        : 4
microcode       : 0x200003a
cpu MHz         : 2200.000
cache size      : 19712 KB
physical id     : 1
siblings        : 28
core id         : 11
cpu cores       : 14
apicid          : 55
initial apicid  : 55
fpu             : yes
fpu_exception   : yes
cpuid level     : 22
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 pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb cat_l3 cdp_l3 invpcid_single intel_pt spec_ctrl ibpb_support tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts
bogomips        : 4404.53
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:


[root@lorenzo3 src]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)
Copyright (C) 2015 Free Software Foundation, Inc.
Это свободно распространяемое программное обеспечение. Условия копирования
приведены в исходных текстах. Без гарантии каких-либо качеств, включая 
коммерческую ценность и применимость для каких-либо целей.

[root@lorenzo3 src]# gcc -c -O3 -DUSE_AVX512 -march=skylake-avx512 -DUSE_THREADS ../src/*.c >& build.log

[root@lorenzo3 src]# cat build.log 
../src/br.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/dft_macro.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/factor.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/fermat_mod_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/fgt_m61.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/gcd_lehmer.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/get_cpuid.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/get_fft_radices.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/get_fp_rnd_const.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/get_preferred_fft_radix.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/getRealTime.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 // EWM: June 2014 - Code from http://nadeausoftware.com/articles/2012/04/c_c_tip_how_measure_elapsed_real_time_benchmarking
 ^
../src/imul_macro.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/mers_mod_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/mi64.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/Mlucas.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/pairFFT_mul.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/qfloat.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix1008_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix1024_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix104_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix10_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix112_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix11_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix120_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix128_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix12_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix13_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix144_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix14_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix15_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix160_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_dif_dit_pass.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_dyadic_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_pairFFT_mul.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_wrapper_ini.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix16_wrapper_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix176_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix18_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix192_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix208_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix20_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix224_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix22_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix240_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix24_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix256_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix26_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix288_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix28_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix30_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix31_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix32_dif_dit_pass.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix32_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix32_dyadic_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix32_wrapper_ini.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix32_wrapper_square.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix36_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix4032_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix40_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix44_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix48_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix512_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix52_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix56_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix5_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix60_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix63_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix64_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix6_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix72_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix768_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix7_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix80_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix88_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix8_dif_dit_pass.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix8_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix960_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix96_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix992_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/radix9_ditN_cy_dif1.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/rng_isaac.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*
 ^
../src/test_fft_radix.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/threadpool.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 // EWM: This threadpool file has "more history" than the other Mlucas sources,
 ^
../src/twopmodq100.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq128_96.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq128.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq160.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq192.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq256.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq64_test.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq80.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq96.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/twopmodq.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/types.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
../src/util.c:1:0: ошибка: bad value (skylake-avx512) for -march= switch
 /*******************************************************************************
 ^
Lorenzo is offline   Reply With Quote
Old 2018-04-01, 12:12   #91
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Cambridge (GMT/BST)

131328 Posts
Default

Is that version of GCC too old to support avx512 on skylake xeons?
henryzz is offline   Reply With Quote
Old 2018-04-01, 12:15   #92
M344587487
 
M344587487's Avatar
 
"Composite as Heck"
Oct 2017

27216 Posts
Default

I'm pretty sure your gcc doesn't support -march=skylake-avx512 as I get a similar output with -march=randomjunk
You probably need to update to the latest gcc, I don't know if they backport tuning for new architectures.
M344587487 is offline   Reply With Quote
Old 2018-04-01, 15:11   #93
VictordeHolland
 
VictordeHolland's Avatar
 
"Victor de Hollander"
Aug 2011
the Netherlands

23×3×72 Posts
Default

Skylake AVX512 support was introduced in GCC 6 according to the release note:
https://gcc.gnu.org/gcc-6/changes.html
VictordeHolland is offline   Reply With Quote
Old 2018-04-01, 22:00   #94
ewmayer
2ω=0
 
ewmayer's Avatar
 
Sep 2002
República de California

2×13×443 Posts
Default

It may not help with pre-v5 gcc, but might be worth trying -march=knl instead ... the code performance is dominated by my custom asm macros which are all restricted to the avx512 Foundation Instructions subset supported by the KNL, so whether the compiler thinks it's compiling for skylake-avx512 or KNL shouldn't matter, as long as the arch flag enables avx512 instruction generation in the back end.

FYI, the version of gcc on the KNL I used for avx-512 code development is 5.4, i.e. pre-v6.

Last fiddled with by ewmayer on 2018-04-01 at 22:01
ewmayer is offline   Reply With Quote
Old 2019-10-15, 12:28   #95
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

441710 Posts
Default

It's no longer the newest version. Please change thread title.
kriesel is online now   Reply With Quote
Old 2019-10-15, 21:16   #96
ewmayer
2ω=0
 
ewmayer's Avatar
 
Sep 2002
República de California

2·13·443 Posts
Default

Quote:
Originally Posted by kriesel View Post
It's no longer the newest version. Please change thread title.
Alas, I don't have thread-edit permissions, not even in this particular subforum. I've e-mailed Mike to ask if that is intended.
ewmayer is offline   Reply With Quote
Old 2019-10-16, 12:55   #97
kriesel
 
kriesel's Avatar
 
"TF79LL86GIMPS96gpu17"
Mar 2017
US midwest

114116 Posts
Default

Quote:
Originally Posted by ewmayer View Post
Alas, I don't have thread-edit permissions, not even in this particular subforum. I've e-mailed Mike to ask if that is intended.
It now appears the V17.1 thread title and V18 sticky have been handled. (Now if Mike would just authorize 30-hour-day lengths, V19 could soon be ready, and repeat.)

Last fiddled with by kriesel on 2019-10-16 at 12:57
kriesel is online now   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Mlucas v18 available ewmayer Mlucas 48 2019-11-28 02:53
Mlucas on ubuntu Damian Mlucas 17 2017-11-13 18:12
Mlucas version 17 ewmayer Mlucas 3 2017-06-17 11:18
MLucas on IBM Mainframe Lorenzo Mlucas 52 2016-03-13 08:45
mlucas on sun delta_t Mlucas 14 2007-10-04 05:45

All times are UTC. The time now is 02:06.

Tue Sep 22 02:06:37 UTC 2020 up 11 days, 23:17, 0 users, load averages: 1.91, 1.56, 1.51

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.