Join the community today
Register Now

Beta Branch update PHP 7.3 routines for 1 cpu thread systems in 123.09beta01

Discussion in 'Centmin Mod Github Commits' started by eva2000, Feb 24, 2019.

  1. eva2000

    eva2000 Administrator Staff Member

    41,287
    9,263
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +14,214
    Local Time:
    6:57 AM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    update PHP 7.3 routines for 1 cpu thread systems in 123.09beta01

    - For PHP 7.3 compiles with less than 2 cpu thread systems i.e. 1 cpu core, re-enable GCCINTEL_PHP='y' optimisations which where auto disabled for less than 2 cpu threads with GCCINTEL_PHP='n'. Re-enabling GCCINTEL_PHP='y' for PHP 7.3 compiles with less than 2 cpu threads allows using higher GCC 7.3+ compilers via devtoolset SCL yum repos rather than use CentOS native GCC compilers (centos 6 = 4.4.7 and centos 7 = 4.8.5) whcih for newer Intel Skylake cpus may not detect proper avx2 instructions support via older compilers and require GCC 7.3+ compilers https://community.centminmod.com/posts/71017/
    - Fix initial install default PHP 7.3 builds which also hardcoded to /usr/bin/gcc compiler (system default GCC version), change so it's relative to gcc used so can pick up devtoolset GCC compiler usage.
    - Add prelim DEVTOOLSETEIGHT='y' support for PHP compilations as well on centos 7 systems however, some 3rd party PHP extensions don't support GCC 8.2 so have issues compiling so be mindful when setting DEVTOOLSETEIGHT='y'

    Continue reading...

    123.09beta01 branch
     
  2. eva2000

    eva2000 Administrator Staff Member

    41,287
    9,263
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +14,214
    Local Time:
    6:57 AM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    PHP 7.3.2 compile with DEVTOOLSETEIGHT='y' enabled on CentOS 7.6 64bit with Intel Xeon Silver 4114 Skylake cpu php_upgrade log /root/centminlogs entry excerpt

    Code (Text):
    centos 7 set devtoolset-8
    ccache /opt/rh/devtoolset-8/root/usr/bin/gcc
    ccache /opt/rh/devtoolset-8/root/usr/bin/g++
    gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
    Copyright (C) 2018 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
      -m128bit-long-double                  [enabled]
      -m64                                  [enabled]
      -m80387                               [enabled]
      -mabm                                 [enabled]
      -madx                                 [enabled]
      -maes                                 [enabled]
      -malign-stringops                     [enabled]
      -march=                               skylake-avx512
      -mavx                                 [enabled]
      -mavx2                                [enabled]
      -mavx512cd                            [enabled]
      -mavx512f                             [enabled]
      -mbmi                                 [enabled]
      -mbmi2                                [enabled]
      -mclflushopt                          [enabled]
      -mclwb                                [enabled]
      -mcx16                                [enabled]
      -mf16c                                [enabled]
      -mfancy-math-387                      [enabled]
      -mfma                                 [enabled]
      -mfp-ret-in-387                       [enabled]
      -mfpmath=                             sse
      -mfsgsbase                            [enabled]
      -mfxsr                                [enabled]
      -mglibc                               [enabled]
      -mhard-float                          [enabled]
      -mhle                                 [enabled]
      -mieee-fp                             [enabled]
      -mlong-double-80                      [enabled]
      -mlzcnt                               [enabled]
      -mmmx                                 [enabled]
      -mmovbe                               [enabled]
      -mpclmul                              [enabled]
      -mpopcnt                              [enabled]
      -mprfchw                              [enabled]
      -mpush-args                           [enabled]
      -mrdrnd                               [enabled]
      -mrdseed                              [enabled]
      -mred-zone                            [enabled]
      -mrtm                                 [enabled]
      -msahf                                [enabled]
      -msse                                 [enabled]
      -msse2                                [enabled]
      -msse3                                [enabled]
      -msse4                                [enabled]
      -msse4.1                              [enabled]
      -msse4.2                              [enabled]
      -mssse3                               [enabled]
      -mstv                                 [enabled]
      -mtls-direct-seg-refs                 [enabled]
      -mtune-ctrl=              
      -mtune=                               skylake-avx512
      -mvzeroupper                          [enabled]
      -mxsave                               [enabled]
      -mxsavec                              [enabled]
      -mxsaveopt                            [enabled]
      -mxsaves                              [enabled]
    

    compiled with skylake-avx512 march
    With DEVTOOLSETSEVEN='y' PHP 7.3.2 compile on same cpu
    Code (Text):
    centos 7 set devtoolset-7
    ccache /opt/rh/devtoolset-7/root/usr/bin/gcc
    ccache /opt/rh/devtoolset-7/root/usr/bin/g++
    gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
    Copyright (C) 2017 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
      -m128bit-long-double                  [enabled]
      -m64                                  [enabled]
      -m80387                               [enabled]
      -mabm                                 [enabled]
      -madx                                 [enabled]
      -maes                                 [enabled]
      -malign-stringops                     [enabled]
      -march=                               knl
      -mavx                                 [enabled]
      -mavx2                                [enabled]
      -mavx256-split-unaligned-load         [enabled]
      -mavx256-split-unaligned-store        [enabled]
      -mavx512cd                            [enabled]
      -mavx512f                             [enabled]
      -mbmi                                 [enabled]
      -mbmi2                                [enabled]
      -mclflushopt                          [enabled]
      -mclwb                                [enabled]
      -mcx16                                [enabled]
      -mf16c                                [enabled]
      -mfancy-math-387                      [enabled]
      -mfma                                 [enabled]
      -mfp-ret-in-387                       [enabled]
      -mfpmath=                             sse
      -mfsgsbase                            [enabled]
      -mfxsr                                [enabled]
      -mglibc                               [enabled]
      -mhard-float                          [enabled]
      -mhle                                 [enabled]
      -mieee-fp                             [enabled]
      -mlong-double-80                      [enabled]
      -mlzcnt                               [enabled]
      -mmmx                                 [enabled]
      -mmovbe                               [enabled]
      -mpclmul                              [enabled]
      -mpopcnt                              [enabled]
      -mprfchw                              [enabled]
      -mpush-args                           [enabled]
      -mrdrnd                               [enabled]
      -mrdseed                              [enabled]
      -mred-zone                            [enabled]
      -mrtm                                 [enabled]
      -msahf                                [enabled]
      -msse                                 [enabled]
      -msse2                                [enabled]
      -msse3                                [enabled]
      -msse4                                [enabled]
      -msse4.1                              [enabled]
      -msse4.2                              [enabled]
      -mssse3                               [enabled]
      -mstv                                 [enabled]
      -mtls-direct-seg-refs                 [enabled]
      -mtune-ctrl=               
      -mtune=                               generic
      -mvzeroupper                          [enabled]
      -mxsave                               [enabled]
      -mxsavec                              [enabled]
      -mxsaveopt                            [enabled]
      -mxsaves                              [enabled]
      Valid arguments to -mfpmath=:
    
    

    devtoolset-7's GCC 7.3.1 too old to detect Intel Skylake cpus so gives incorrect march = knl which is Intel Knights Landing architecture for Intel Xeon Phi processors

     
  3. pamamolf

    pamamolf Premium Member Premium Member

    3,434
    326
    83
    May 31, 2014
    Ratings:
    +624
    Local Time:
    11:57 PM
    Nginx-1.17.x
    MariaDB 10.3.x
    I am sorry but i get lost a bit with that update :(

    So the latest updated version of Centminmod will automatically install gcc 8 tools and is ready to use for a compile of nginx or php 7.2.x that i use ?

    Do i have to set anything at the custom_config.inc ?

    Thank you
     
  4. eva2000

    eva2000 Administrator Staff Member

    41,287
    9,263
    113
    May 24, 2014
    Brisbane, Australia
    Ratings:
    +14,214
    Local Time:
    6:57 AM
    Nginx 1.17.x
    MariaDB 5.5/10.x
    yup for nginx automatic

    for php only if php 7.3 is detected due to php 7.3 requiring higher gcc version for some newer cpus https://community.centminmod.com/posts/71017/
     
    • Informative Informative x 1