История изменений
Исправление praseodim, (текущая версия) :
А что тестировалось то? Работа системы охлаждения?
Производительность с оптимизированной под Intel программой. Учитывая, что программы, оптимизированные под AMD - это редкость, достаточно актуально
Я сделал export MKL_DEBUG_CPU_TYPE=5 и не скажу, что результат как-то сильно отличается, хотя немного вырос. Заодно я не стал патчить вторую проверку в бинарнике, видимо отказ генерирует только 1-я.
$ ./xlinpack_xeon64 -i lininput_xeon64 Sample data file lininput_xeon64. Current date/time: Sun May 3 12:35:47 2020 CPU frequency: 4.290 GHz Number of CPUs: 1 Number of cores: 12 Number of threads: 12 Parameters are set to: Number of tests: 15 Number of equations to solve (problem size) : 1000 2000 5000 10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000 Leading dimension of array : 1000 2000 5008 10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000 Number of trials to run : 4 2 2 2 2 2 2 2 2 2 1 1 1 1 1 Data alignment value (in Kbytes) : 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 Maximum memory requested that can be used=16200901024, at the size=45000 =================== Timing linear equation system solver =================== Size LDA Align. Time(s) GFlops Residual Residual(norm) Check 1000 1000 4 0.007 101.5310 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 151.5913 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.7105 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.3868 1.029732e-12 3.511650e-02 pass 2000 2000 4 0.018 297.0534 3.991266e-12 3.471912e-02 pass 2000 2000 4 0.017 317.7125 3.991266e-12 3.471912e-02 pass 5000 5008 4 0.183 455.8109 2.436845e-11 3.397984e-02 pass 5000 5008 4 0.178 469.2654 2.436845e-11 3.397984e-02 pass 10000 10000 4 1.312 508.2806 9.326587e-11 3.288649e-02 pass 10000 10000 4 1.306 510.7859 9.326587e-11 3.288649e-02 pass 15000 15000 4 4.375 514.3553 2.066112e-10 3.254161e-02 pass 15000 15000 4 4.380 513.7584 2.066112e-10 3.254161e-02 pass 18000 18008 4 7.560 514.3747 3.038254e-10 3.327262e-02 pass 18000 18008 4 7.534 516.1403 3.038254e-10 3.327262e-02 pass 20000 20016 4 10.281 518.8268 3.709001e-10 3.283278e-02 pass 20000 20016 4 10.216 522.1393 3.709001e-10 3.283278e-02 pass 22000 22008 4 13.647 520.2415 4.439795e-10 3.251975e-02 pass 22000 22008 4 13.634 520.7464 4.439795e-10 3.251975e-02 pass 25000 25000 4 19.902 523.4641 5.712425e-10 3.248451e-02 pass 25000 25000 4 19.918 523.0524 5.712425e-10 3.248451e-02 pass 26000 26000 4 22.228 527.1996 6.026815e-10 3.169080e-02 pass 26000 26000 4 22.344 524.4585 6.026815e-10 3.169080e-02 pass 27000 27000 4 24.815 528.8495 6.825751e-10 3.328583e-02 pass 30000 30000 1 34.289 525.0005 8.257446e-10 3.255094e-02 pass 35000 35000 1 54.065 528.7277 1.073374e-09 3.115842e-02 pass 40000 40000 1 78.988 540.2037 1.536346e-09 3.416886e-02 pass 45000 45000 1 111.951 542.6855 1.823860e-09 3.208890e-02 pass Performance Summary (GFlops) Size LDA Align. Average Maximal 1000 1000 4 140.5549 154.7105 2000 2000 4 307.3829 317.7125 5000 5008 4 462.5382 469.2654 10000 10000 4 509.5332 510.7859 15000 15000 4 514.0569 514.3553 18000 18008 4 515.2575 516.1403 20000 20016 4 520.4831 522.1393 22000 22008 4 520.4940 520.7464 25000 25000 4 523.2582 523.4641 26000 26000 4 525.8291 527.1996 27000 27000 4 528.8495 528.8495 30000 30000 1 525.0005 525.0005 35000 35000 1 528.7277 528.7277 40000 40000 1 540.2037 540.2037 45000 45000 1 542.6855 542.6855 Residual checks PASSED End of tests
https://www.pugetsystems.com/labs/hpc/How-To-Use-MKL-with-AMD-Ryzen-and-Threa...
Для сравнения интереснее другая статья там же
https://www.pugetsystems.com/labs/hpc/AMD-Ryzen-3950x-Compute-Performance-Lin...
Из нее видно, что у меня с интеловской программой и интеловской библиотекой MKL вышло вровень или даже чуть быстрее(!!!), чем у него с AMD-ными библиотеками и оптимизацией под Zen2. 542 GFlops моих супротив 539 GFlops его, впрочем.
Впрочем, без MKL_DEBUG_CPU_TYPE=5 разница не в мою пользу. 516 GFlops против 539. Как я понял, эта переменная включает AVX2. Прирост получается на 5% где-то.
P.S. Про систему охлаждения. Этот тест на короткое время разогревал ядра до 82 градусов, судя по Zenmonitor, хотя в среднем где-то было в течение теста 75-77. Даже не знаю хорошо или плохо. wPrime, кстати, сумел разогреть до 90 градусов. При этом температуры, частоты, и напряжения все время скачут.
Исправление praseodim, :
А что тестировалось то? Работа системы охлаждения?
Производительность с оптимизированной под Intel программой. Учитывая, что программы, оптимизированные под AMD - это редкость, достаточно актуально
Я сделал export MKL_DEBUG_CPU_TYPE=5 и не скажу, что результат как-то сильно отличается, хотя немного вырос. Заодно я не стал патчить вторую проверку в бинарнике, видимо отказ генерирует только 1-я.
$ ./xlinpack_xeon64 -i lininput_xeon64 Sample data file lininput_xeon64. Current date/time: Sun May 3 12:35:47 2020 CPU frequency: 4.290 GHz Number of CPUs: 1 Number of cores: 12 Number of threads: 12 Parameters are set to: Number of tests: 15 Number of equations to solve (problem size) : 1000 2000 5000 10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000 Leading dimension of array : 1000 2000 5008 10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000 Number of trials to run : 4 2 2 2 2 2 2 2 2 2 1 1 1 1 1 Data alignment value (in Kbytes) : 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 Maximum memory requested that can be used=16200901024, at the size=45000 =================== Timing linear equation system solver =================== Size LDA Align. Time(s) GFlops Residual Residual(norm) Check 1000 1000 4 0.007 101.5310 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 151.5913 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.7105 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.3868 1.029732e-12 3.511650e-02 pass 2000 2000 4 0.018 297.0534 3.991266e-12 3.471912e-02 pass 2000 2000 4 0.017 317.7125 3.991266e-12 3.471912e-02 pass 5000 5008 4 0.183 455.8109 2.436845e-11 3.397984e-02 pass 5000 5008 4 0.178 469.2654 2.436845e-11 3.397984e-02 pass 10000 10000 4 1.312 508.2806 9.326587e-11 3.288649e-02 pass 10000 10000 4 1.306 510.7859 9.326587e-11 3.288649e-02 pass 15000 15000 4 4.375 514.3553 2.066112e-10 3.254161e-02 pass 15000 15000 4 4.380 513.7584 2.066112e-10 3.254161e-02 pass 18000 18008 4 7.560 514.3747 3.038254e-10 3.327262e-02 pass 18000 18008 4 7.534 516.1403 3.038254e-10 3.327262e-02 pass 20000 20016 4 10.281 518.8268 3.709001e-10 3.283278e-02 pass 20000 20016 4 10.216 522.1393 3.709001e-10 3.283278e-02 pass 22000 22008 4 13.647 520.2415 4.439795e-10 3.251975e-02 pass 22000 22008 4 13.634 520.7464 4.439795e-10 3.251975e-02 pass 25000 25000 4 19.902 523.4641 5.712425e-10 3.248451e-02 pass 25000 25000 4 19.918 523.0524 5.712425e-10 3.248451e-02 pass 26000 26000 4 22.228 527.1996 6.026815e-10 3.169080e-02 pass 26000 26000 4 22.344 524.4585 6.026815e-10 3.169080e-02 pass 27000 27000 4 24.815 528.8495 6.825751e-10 3.328583e-02 pass 30000 30000 1 34.289 525.0005 8.257446e-10 3.255094e-02 pass 35000 35000 1 54.065 528.7277 1.073374e-09 3.115842e-02 pass 40000 40000 1 78.988 540.2037 1.536346e-09 3.416886e-02 pass 45000 45000 1 111.951 542.6855 1.823860e-09 3.208890e-02 pass Performance Summary (GFlops) Size LDA Align. Average Maximal 1000 1000 4 140.5549 154.7105 2000 2000 4 307.3829 317.7125 5000 5008 4 462.5382 469.2654 10000 10000 4 509.5332 510.7859 15000 15000 4 514.0569 514.3553 18000 18008 4 515.2575 516.1403 20000 20016 4 520.4831 522.1393 22000 22008 4 520.4940 520.7464 25000 25000 4 523.2582 523.4641 26000 26000 4 525.8291 527.1996 27000 27000 4 528.8495 528.8495 30000 30000 1 525.0005 525.0005 35000 35000 1 528.7277 528.7277 40000 40000 1 540.2037 540.2037 45000 45000 1 542.6855 542.6855 Residual checks PASSED End of tests
https://www.pugetsystems.com/labs/hpc/How-To-Use-MKL-with-AMD-Ryzen-and-Threa...
Для сравнения интереснее другая статья там же
https://www.pugetsystems.com/labs/hpc/AMD-Ryzen-3950x-Compute-Performance-Lin...
Из нее видно, что у меня с интеловской программой и интеловской библиотекой MKL вышло вровень или даже чуть быстрее(!!!), чем у него с AMD-ными библиотеками и оптимизацией под Zen2. 542 GFlops моих супротив 539 GFlops его, впрочем.
Впрочем, без MKL_DEBUG_CPU_TYPE=5 разница не в мою пользу. 516 GFlops против 539. Как я понял, эта переменная включает AVX2. Прирост получается на 5% где-то.
Исходная версия praseodim, :
А что тестировалось то? Работа системы охлаждения?
Производительность с оптимизированной под Intel программой. Учитывая, что программы, оптимизированные под AMD - это редкость, достаточно актуально
Я сделал export MKL_DEBUG_CPU_TYPE=5 и не скажу, что результат как-то сильно отличается, хотя немного вырос. Заодно я не стал патчить вторую проверку в бинарнике, видимо отказ генерирует только 1-я.
$ ./xlinpack_xeon64 -i lininput_xeon64 Sample data file lininput_xeon64. Current date/time: Sun May 3 12:35:47 2020 CPU frequency: 4.290 GHz Number of CPUs: 1 Number of cores: 12 Number of threads: 12 Parameters are set to: Number of tests: 15 Number of equations to solve (problem size) : 1000 2000 5000 10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000 Leading dimension of array : 1000 2000 5008 10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000 Number of trials to run : 4 2 2 2 2 2 2 2 2 2 1 1 1 1 1 Data alignment value (in Kbytes) : 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 Maximum memory requested that can be used=16200901024, at the size=45000 =================== Timing linear equation system solver =================== Size LDA Align. Time(s) GFlops Residual Residual(norm) Check 1000 1000 4 0.007 101.5310 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 151.5913 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.7105 1.029732e-12 3.511650e-02 pass 1000 1000 4 0.004 154.3868 1.029732e-12 3.511650e-02 pass 2000 2000 4 0.018 297.0534 3.991266e-12 3.471912e-02 pass 2000 2000 4 0.017 317.7125 3.991266e-12 3.471912e-02 pass 5000 5008 4 0.183 455.8109 2.436845e-11 3.397984e-02 pass 5000 5008 4 0.178 469.2654 2.436845e-11 3.397984e-02 pass 10000 10000 4 1.312 508.2806 9.326587e-11 3.288649e-02 pass 10000 10000 4 1.306 510.7859 9.326587e-11 3.288649e-02 pass 15000 15000 4 4.375 514.3553 2.066112e-10 3.254161e-02 pass 15000 15000 4 4.380 513.7584 2.066112e-10 3.254161e-02 pass 18000 18008 4 7.560 514.3747 3.038254e-10 3.327262e-02 pass 18000 18008 4 7.534 516.1403 3.038254e-10 3.327262e-02 pass 20000 20016 4 10.281 518.8268 3.709001e-10 3.283278e-02 pass 20000 20016 4 10.216 522.1393 3.709001e-10 3.283278e-02 pass 22000 22008 4 13.647 520.2415 4.439795e-10 3.251975e-02 pass 22000 22008 4 13.634 520.7464 4.439795e-10 3.251975e-02 pass 25000 25000 4 19.902 523.4641 5.712425e-10 3.248451e-02 pass 25000 25000 4 19.918 523.0524 5.712425e-10 3.248451e-02 pass 26000 26000 4 22.228 527.1996 6.026815e-10 3.169080e-02 pass 26000 26000 4 22.344 524.4585 6.026815e-10 3.169080e-02 pass 27000 27000 4 24.815 528.8495 6.825751e-10 3.328583e-02 pass 30000 30000 1 34.289 525.0005 8.257446e-10 3.255094e-02 pass 35000 35000 1 54.065 528.7277 1.073374e-09 3.115842e-02 pass 40000 40000 1 78.988 540.2037 1.536346e-09 3.416886e-02 pass 45000 45000 1 111.951 542.6855 1.823860e-09 3.208890e-02 pass Performance Summary (GFlops) Size LDA Align. Average Maximal 1000 1000 4 140.5549 154.7105 2000 2000 4 307.3829 317.7125 5000 5008 4 462.5382 469.2654 10000 10000 4 509.5332 510.7859 15000 15000 4 514.0569 514.3553 18000 18008 4 515.2575 516.1403 20000 20016 4 520.4831 522.1393 22000 22008 4 520.4940 520.7464 25000 25000 4 523.2582 523.4641 26000 26000 4 525.8291 527.1996 27000 27000 4 528.8495 528.8495 30000 30000 1 525.0005 525.0005 35000 35000 1 528.7277 528.7277 40000 40000 1 540.2037 540.2037 45000 45000 1 542.6855 542.6855 Residual checks PASSED End of tests
https://www.pugetsystems.com/labs/hpc/How-To-Use-MKL-with-AMD-Ryzen-and-Threa...
Для сравнения интереснее другая статья там же
https://www.pugetsystems.com/labs/hpc/AMD-Ryzen-3950x-Compute-Performance-Lin...
Из нее видно, что у меня с интеловской программой вышло вровень или даже чуть быстрее(!!!), чем у него с оптимизацией под Zen2. 542 GFlops моих супротив 539 GFlops его, впрочем.
Впрочем, без MKL_DEBUG_CPU_TYPE=5 разница не в мою пользу. 516 GFlops против 539. Как я понял, эта переменная включает AVX2. Прирост получается на 5% где-то.