Knowledge (XXG)

AMD Optimizing C/C++ Compiler

Source 📝

768: 417:
Compliance to C++17 standards; default optimization level changed to -O2; -fPIC and -fPIE options made default; bit reproducibility support improved for C/C++ and Fortran; general improvements targeting compile time reduction; new option to display the AOCC Optimization Report; tuned for use with the
442:
comparing AOCC v1.0 to Clang 4 and 5, and GCC 6 through 8, Phoronix found AOCC provided marginal improvement over Clang 4.0 in several benchmarks and no difference in others. Compilation time generally increased relative to Clang 4.0. Some benchmarks found some versions of GCC had better performance
809: 432:
Bug fixes with Fortran pre-processing and compilation; bug fixes impacting performance of C, C++, and Fortran applications; tuned for use with the AMD Math Library v4.2
403:
Zen CPUs; Fortran 2008 and Fortran OMP 4.5 compliance improvements; Fortran debuggability improvements; improved variants of scalar, vector, and loop transformations
443:
than some versions of Clang (AOCC included), and vice versa. In August 2019 Phoronix again benchmarked AOCC, now AOCC 2.0 against Clang 9 and GCC 9.1 and 10.0.
828: 858: 838: 695: 668: 802: 795: 641: 446:
Along with the compiler, AMD offers the AMD Optimizing CPU Libraries (AOCL), a set of numerical libraries that is roughly similar to
513: 722: 56: 843: 551: 530: 450:
and includes AMD Math Library (LibM), AMD Random Number Generator Library, AMD Secure RNG Library, AOCL-Sparse,
833: 614: 587: 217: 168: 853: 27: 848: 439: 483: 447: 94: 723:"GCC vs. LLVM Clang vs. AOCC Compiler Benchmarks On The AMD EPYC 7742 2P Linux Server - Phoronix" 488: 779: 775: 106: 82: 451: 822: 569: 767: 22: 459: 148: 111: 99: 751: 122: 338: 478: 466: 465:
AMD also offers AMD μProf, a performance analysis tool similar to
400: 356: 294: 248: 176: 164: 156: 87: 167:
with various additional patches to improve performance for AMD's
455: 172: 160: 152: 531:"AMD Releases Optimizing C/C++ Compiler For Ryzen - Phoronix" 552:"Benchmarking AMD's New AOCC Compiler For Ryzen - Phoronix" 783: 117: 105: 93: 81: 55: 33: 21: 803: 8: 508: 506: 504: 16:Optimizing C/C++ and Fortran compiler suite 810: 796: 18: 546: 544: 186: 500: 462:that are tuned for the Zen processors. 159:platforms. It is a proprietary fork of 147:) is an optimizing C/C++ and Fortran 7: 764: 762: 829:C (programming language) compilers 782:. You can help Knowledge (XXG) by 14: 62:4.2.0 / February 27, 2024 766: 859:Computer programming tool stubs 839:Free compilers and interpreters 279:Last version to use DragonEgg. 1: 141:AMD Optimizing C/C++ Compiler 155:targeting 32-bit and 64-bit 448:Intel's Math Kernel Library 875: 761: 39:; 7 years ago 77: 51: 696:"AOCC 4.2 Release Notes" 669:"AOCC 4.1 Release Notes" 642:"AOCC 4.0 Release Notes" 615:"AOCC 2.1 Install Guide" 588:"AOCC 2.0 Install Guide" 418:AMD Math Library v4.1 778:-related article is a 570:"AOCC Archive Section" 64:; 6 months ago 28:Advanced Micro Devices 188:AOCC version history 171:microarchitecture in 247:Introduction of the 216:Uses DragonEgg with 189: 484:Intel C++ Compiler 187: 844:Fortran compilers 791: 790: 622:developer.amd.com 595:developer.amd.com 514:"AOCC User guide" 489:List of compilers 436: 435: 251:Fortan frontend. 179:microprocessors. 137: 136: 866: 812: 805: 798: 776:programming-tool 770: 763: 755: 754: 752:Official website 737: 736: 734: 733: 727:www.phoronix.com 719: 713: 712: 710: 709: 700: 692: 686: 685: 683: 682: 673: 665: 659: 658: 656: 655: 646: 638: 632: 631: 629: 628: 619: 611: 605: 604: 602: 601: 592: 584: 578: 577: 566: 560: 559: 556:www.phoronix.com 548: 539: 538: 535:www.phoronix.com 527: 521: 520: 518: 510: 458:, libFLAME, and 337:Introduction of 265:Bugfix release. 190: 133: 130: 128: 126: 124: 83:Operating system 72: 70: 65: 47: 45: 40: 19: 874: 873: 869: 868: 867: 865: 864: 863: 819: 818: 817: 816: 759: 750: 749: 746: 741: 740: 731: 729: 721: 720: 716: 707: 705: 698: 694: 693: 689: 680: 678: 671: 667: 666: 662: 653: 651: 644: 640: 639: 635: 626: 624: 617: 613: 612: 608: 599: 597: 590: 586: 585: 581: 568: 567: 563: 550: 549: 542: 529: 528: 524: 516: 512: 511: 502: 497: 475: 185: 183:Release history 121: 73: 68: 66: 63: 43: 41: 38: 34:Initial release 17: 12: 11: 5: 872: 870: 862: 861: 856: 851: 846: 841: 836: 831: 821: 820: 815: 814: 807: 800: 792: 789: 788: 771: 757: 756: 745: 744:External links 742: 739: 738: 714: 687: 660: 633: 606: 579: 561: 540: 522: 499: 498: 496: 493: 492: 491: 486: 481: 474: 471: 438:In a May 2017 434: 433: 430: 427: 426:February 2024 424: 420: 419: 415: 412: 409: 405: 404: 401:4th generation 397: 394: 393:November 2022 391: 387: 386: 384: 381: 380:December 2021 378: 374: 373: 371: 368: 365: 361: 360: 357:3rd generation 353: 350: 347: 343: 342: 335: 332: 331:December 2020 329: 325: 324: 322: 319: 316: 312: 311: 309: 306: 303: 299: 298: 295:2nd generation 291: 288: 285: 281: 280: 277: 274: 271: 267: 266: 263: 260: 257: 253: 252: 245: 242: 239: 235: 234: 232: 229: 226: 222: 221: 214: 211: 208: 204: 203: 200: 197: 194: 184: 181: 135: 134: 119: 115: 114: 109: 103: 102: 97: 91: 90: 85: 79: 78: 75: 74: 61: 59: 57:Stable release 53: 52: 49: 48: 35: 31: 30: 25: 15: 13: 10: 9: 6: 4: 3: 2: 871: 860: 857: 855: 854:2017 software 852: 850: 847: 845: 842: 840: 837: 835: 834:C++ compilers 832: 830: 827: 826: 824: 813: 808: 806: 801: 799: 794: 793: 787: 785: 781: 777: 772: 769: 765: 760: 753: 748: 747: 743: 728: 724: 718: 715: 704: 697: 691: 688: 677: 670: 664: 661: 650: 643: 637: 634: 623: 616: 610: 607: 596: 589: 583: 580: 575: 571: 565: 562: 557: 553: 547: 545: 541: 536: 532: 526: 523: 515: 509: 507: 505: 501: 494: 490: 487: 485: 482: 480: 477: 476: 472: 470: 468: 463: 461: 457: 453: 449: 444: 441: 431: 428: 425: 422: 421: 416: 413: 410: 407: 406: 402: 398: 395: 392: 389: 388: 385: 382: 379: 376: 375: 372: 369: 366: 363: 362: 358: 354: 351: 348: 345: 344: 340: 336: 333: 330: 327: 326: 323: 320: 317: 314: 313: 310: 307: 305:November 2019 304: 301: 300: 296: 292: 289: 286: 283: 282: 278: 275: 273:December 2018 272: 269: 268: 264: 261: 258: 255: 254: 250: 246: 243: 240: 237: 236: 233: 230: 228:December 2017 227: 224: 223: 220:for Fortran. 219: 215: 212: 209: 206: 205: 201: 198: 195: 192: 191: 182: 180: 178: 174: 170: 166: 162: 158: 154: 150: 146: 142: 132: 120: 116: 113: 110: 108: 104: 101: 98: 96: 92: 89: 86: 84: 80: 76: 60: 58: 54: 50: 36: 32: 29: 26: 24: 20: 849:AMD software 784:expanding it 773: 758: 730:. Retrieved 726: 717: 706:. Retrieved 702: 690: 679:. Retrieved 675: 663: 652:. Retrieved 648: 636: 625:. Retrieved 621: 609: 598:. Retrieved 594: 582: 573: 564: 555: 534: 525: 464: 445: 437: 411:August 2023 399:Support for 355:Support for 293:Support for 199:LLVM version 193:AOCC version 144: 140: 138: 23:Developer(s) 703:www.amd.com 676:www.amd.com 649:www.amd.com 467:Intel VTune 349:March 2021 287:August 2019 151:suite from 823:Categories 732:2020-02-19 708:2024-04-08 681:2024-04-08 654:2024-04-08 627:2020-02-19 600:2020-02-19 495:References 367:July 2021 297:Zen CPUs. 241:April 2018 69:2024-02-27 460:ScaLAPACK 440:benchmark 359:Zen CPUs 341:debugger 318:June 2020 259:July 2018 218:GCC 4.8.2 129:/amd-aocc 123:developer 473:See also 210:May 2017 149:compiler 112:Freeware 100:Compiler 118:Website 107:License 67: ( 42: ( 519:. AMD. 423:4.2.0 408:4.1.0 390:4.0.0 377:3.2.0 364:3.1.0 346:3.0.0 339:OpenMP 328:2.3.0 202:Notes 175:, and 774:This 699:(PDF) 672:(PDF) 645:(PDF) 618:(PDF) 591:(PDF) 517:(PDF) 479:Clang 429:16.0 414:16.0 396:14.0 383:13.0 370:12.0 352:12.0 334:11.0 315:2.2.0 302:2.1.0 284:2.0.0 270:1.3.0 256:1.2.1 249:Flang 238:1.2.0 225:1.1.0 207:1.0.0 177:Ryzen 165:Clang 157:Linux 88:Linux 780:stub 456:FFTW 452:BLIS 321:10.0 196:Date 173:Epyc 161:LLVM 145:AOCC 139:The 127:.com 125:.amd 95:Type 44:2017 37:2017 574:AMD 308:9.0 290:8.0 276:7.0 262:6.0 244:6.0 231:6.0 213:6.0 169:Zen 153:AMD 825:: 725:. 701:. 674:. 647:. 620:. 593:. 572:. 554:. 543:^ 533:. 503:^ 469:. 454:, 163:+ 811:e 804:t 797:v 786:. 735:. 711:. 684:. 657:. 630:. 603:. 576:. 558:. 537:. 143:( 131:/ 71:) 46:)

Index

Developer(s)
Advanced Micro Devices
Stable release
Operating system
Linux
Type
Compiler
License
Freeware
developer.amd.com/amd-aocc/
compiler
AMD
Linux
LLVM
Clang
Zen
Epyc
Ryzen
GCC 4.8.2
Flang
2nd generation
OpenMP
3rd generation
4th generation
benchmark
Intel's Math Kernel Library
BLIS
FFTW
ScaLAPACK
Intel VTune

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.