Compilateur C++ et Fortran

Posté par  . Édité par Benoît Sibaud. Modéré par Fabien Penso.
Étiquettes :
0
27
août
2001
Fortran
Intel a porté ses compilateurs C++ et Fortran (v5) sur Linux en collaboration avec Caldera. Ils sont compatibles avec gcc (implémentation C et linker), cependant l'implémentation C++ étant différente, il ne pourra pas utiliser des objets crées avec g++.
A noter également que toutes les extensions GNU C ne sont pas encore supportées et ne le seront pas lors de lors de la première sortie.
Plus d'info sur le site.
Il me parait important de signaler que ces produits sont des produits propriétaires se basant sur des implementations libres, qu'en est-il réellement des gains en performances avec ces compilateurs ? Et donc l'intérêt de les utiliser en lieu et place des outils GNU ? L'orientation qu'a pris Caldera au niveau de sa distribution ne m'inspire pas un avenir libre pour ce genre de produits.

Aller plus loin

  • # Et hop

    Posté par  . Évalué à 1.

    Surtout qu'à $400 le compilo, ya intérêt à ce que ça accélère sacrément la sortie.
    http://www.tomshardware.com/technews/technews-20010824.html#0103(...)
    Cela dit, il semblerait que les binaires optimisés de la sorte profitent également aux Athlon/Duron, enfin, c'est une autre histoire.
  • # Fortran 95 Rox !

    Posté par  . Évalué à 1.

    Même si ce n'est pas libre, je pense que certains vont être contents d'avoir un compilateur fortran 95.
    • [^] # Re: Fortran 95 Rox !

      Posté par  (site web personnel) . Évalué à 1.

      Ceci dit, des compilo f95 payants sous linux, y'en a déjà plusieurs. Mais c'est vrai celui-ci devrait être le meilleur.
      • [^] # Re: Fortran 95 Rox !

        Posté par  . Évalué à 1.

        Tel le naif moyen, je croyais que le compilateur serait gratos à télécharger. Apparemment, c'est seulement vrai pour la version beta. Too bad ...
        • [^] # Re: Fortran 95 Rox !

          Posté par  . Évalué à 0.

          Bah, encore heureux qu'il est payant, comme une bonne partie des amateurs de linux, tu aimes bien profiter du travail d'étudiant et de thésard, mais pour réellement bosser, rien ne vaut un bon logiciel, créé par une grande boite avec les moyens de créer du soft au lieu d'attendre que quelqu'un ai envie de passer ses soirées a le pondre, mais en mal foutu.

          Linux n'est qu'un jouet pour hackers boutonneux, pour les gens qui bossent, il existe de vrai outils.
  • # l'interet

    Posté par  (site web personnel) . Évalué à 1.

    l'interet c'est peut être tout ce qui va autour du compilo, entre autre vtune pour faire du profiling, les librairies mathématiques ultra-optimisées (pour les proc intel)

    d'ailleurs y'a un bench sur les perf obtenues (dgemm = multiplication matrice x matrice ) -> celles de l'itanium sont assez impressionnantes. c'est ici:

    http://developer.intel.com/software/products/mkl/mkl51w/mklspecs.ht(...)
    mais bon, c'est pas libre et certainement pas très AMD-friendly... et pour l'itanium y'a aussi le compilo de sgi, qui est au moins open-source.
    • [^] # Re: l'interet

      Posté par  . Évalué à 1.

      >certainement pas très AMD-friendly

      Ben, si c'est du code Itanium, c'est normal, par contre, si c'est du code optimisé pour P4, alors ça profite aussi aux AMD, voir le lien que je donne plus haut vers Aceshardware, sur les optimisations SSE2 et Maya-4, à première vue du moins.
    • [^] # Re: l'interet

      Posté par  . Évalué à 0.

      Les performances sont colossales tu veux dire. Mais est ce seuleument un IA64 monoprocesseur ?

      En effet 10Gflops a 800Mhz ca fait du 12 operations flottantes par cycle... et j'ai du mal a y croire . Si c'est 10Gflops sur un smp a 4 processeurs, c'est beaucoup plus decevant !

      En effet sur un Athlon 1.4Ghz, on peut faire
      du dgemm a plus de 2 Gflops.
      • [^] # Re: l'interet

        Posté par  . Évalué à 1.

        pourquoi ? t'as 4 opérations simultannées par pipeline (simd simple précision) tu mets 3 pipes cote-a-cote, ça fait 12 (j'ai pas été vérifier les specs du proc) par-contre faut arriver à sucer la ram à cette vitesse ...là c'est une autre histoire ...
        • [^] # Re: l'interet

          Posté par  . Évalué à 0.

          Sauf que dgemm comme son nom l'indique c'est d = double precision...

          Je croyais que les procs Itanium n'autorisaient "que" 4 operations flottantes double precision par cycle.
          Pour info un p3 c'est une, et p4(sse2), un athlon ou un alpha(recent) c'est deux. Seul
          l'ibm power3 autorisaient jusqu'alors 4 op par cycle.

          C'est pouquoi 12 par cycle j'hallucine un peu...
  • # Bizarre pour la compatibilite binaire C++

    Posté par  . Évalué à 1.

    Je croyais que la nouvelle version de gcc 3+ utilisait justement une ABI commune a tous les compilateurs sur x86 au moins.

    Et que c'etait meme LE point fort de cette version de gcc..

    Quelqu'un a un compte pour lire la FAQ?
  • # Ecoeuré

    Posté par  . Évalué à 1.

    'Tain, ch'uis dégouté d'la vie, là... J'avais proposé cette nouvelle y a 3 jours, dès réception du communiqué en avant première d'Intel, mais les modéros préfèrent attendre que tous les autres sites en aient parlé avant de passer l'actu.
    Dég', j'vous dis...
    • [^] # modérateur blues

      Posté par  . Évalué à 0.

      C'est vrai, que sans doute à force de lire des commentaire de type "on s'en fout de ça", les modérateurs deviennent frileux et finissent par n'accepter des infos que lorsqu'elles sont passées sur la plupart des autres sites. Ou par ne pas passer tout court, même si elle sont passées sur /.

      Snif !
  • # GCC 3.xx

    Posté par  . Évalué à 0.

    Il est prevu chez intel d'apporter des optimisations p4/SSE2 dans de futures release de GCC. Pas de date par contre...
  • # Intel comme microsoft?

    Posté par  . Évalué à 0.

    Le gros interêt pour intel est de cacher les recettes de cuisine pour obtimiser l'utilisation de leur cpu.

    Leures craintes étant d'être presque obligé de les montrer (via gcc) si Linux devient une plateforme incontournable.

    S'il cache un maximum de recettes, leur compilateur sera nettement plus performant que gcc. Donc incontournable.
    => ils vont ce faire plein de pognon et rien donné au free software.

    Microsoft fait du pognon avec leur compilateur (visual C++) sous windows. Là c'est Intel sous Linux...

    Il ne faut pas utiliser ce compilo. Intel sera en concurrence avec AMD. Le "gagnant" sera celui qui offre les meilleurs performances avec gcc (Intel sera contraint de fournir des infos s'il veut rester dans la course).
  • # Ca fait pas de mal

    Posté par  (site web personnel) . Évalué à 1.

    Ca derange personne personne si il y a different compilateur sous linux (ou autre systeme libre).
    Du moment que le compilateur Intel n'est utiliser que pour comparaison (voir reverse engeenering si c'est legal;): ABI,Generation de code,Optimisation
    Si personne ne l'utilise en production y'aura pas de probleme.
    Et de toute facon le compilateur intel reste pour systeme intel: x86, itanium (voire ARM)
  • # un message d'une mailling list gcc concernant des perfs de compilo

    Posté par  . Évalué à 0.

    > I have tested a scientific benchmark with several compilers, under both
    > windows 98 and two flavors of linux. So far, the performance of
    > _executables_
    > generated by gcc 2.95.2 (-O2|-O3|-O6 -malign-double -
    > fomit-frame-pointer -funroll-loops
    > -fstrict-aliasing -ffloat-store -fexpensive-optimizations ...etc.) seems
    > pretty dismal:
    >
    > (higher is better:)
    > gcc / linux 0.47
    > MS6/win98 1.98
    > Intel5/win98 2.33
    > MS6/win98/SIMD 3.78
    > Intel5.01/win98/SIMD 5.72
    > Intel5.01/linux/SIMD 5.72
    >
    > All run on the same P4 system, 1 GB RDRAM. The benchmark is both
    > memory-and float-intensive, uses large dynamic arrays of floats, and has
    > heavy
    > pointer traffic. The time-critical function was hand-optimized to
    > eliminate most pointer traffic. Almost all the operations are basic math;
    > the
    > dependence on libm should be minimal. For similar codes on the
    > alphas, we found gcc to be nearly as good as DEC C, and hand
    > pointer optimizations were adequate.
    >
    > I haven't used gcc or egcs in several years. What should I consider
    > (options, gcc/egcs version) to improve gcc performance?
    > Of all the options I tried for gcc, only -fstrict-aliasing
    > made any difference, upping performance from a pitiful 0.31 to 0.47.
    > I've been searching dejanews and gcc development for hints,
    > and haven't found much. So far, this looks like a good
    > advertisement for the Intel linux compiler, given the factor
    > 12 performance improvement.
    >
    > Thanks; please fork replies to my e-mail as well as this newsgroup,
    > as I read news on 6 different systems, with different groups selected.


    You have chosen the most unfavorable areas for GCC. It is horribly lame
    with floating point (my own observations confirm your worst suspicisions).
    It also is not as good as some others with pointer manipulations at times.
    There are areas where GCC shines (e.g. string operations, bitwise
    operations).

    Suggestion #1:
    Try the options one at a time. Keep the ones that improve performance, and
    discard those that harm performance. (In the end, there is simply no way
    you are going to beat the Intel compiler on floating point operations
    anyway).

    Suggestion #2:
    Post GCC questions to the GCC help groups. The experts there will know far
    better how to solve your queries.
  • # mouais, trop nouveau

    Posté par  . Évalué à 1.

    T'est gentil, je l'ai essayé début juillet déjà.

    "u'en est-il réellement des gains en performances avec ces compilateurs ?"
    Il déchire ça race ('inter-files', 'profile guided optimisation' et je fout les fonctions dans l'ordre pour que le cache fonctionne)
    • [^] # T'est gentil, je l'ai essayé début juillet déjà.

      Posté par  . Évalué à 0.

      et ça t'aurait arraché la gueule de poster la news en juillet plutot que de faire ce genre de remarque constructive fin aout ?
    • [^] # Re: mouais, trop nouveau

      Posté par  . Évalué à 0.

      Désolé, mais tu dois faire erreur, ou confondre avec un autre, ou faire l'intéressant. Je sais par une source interne à Intel France que ce compilo n'était même pas sur les FTP de développement d'Intel début juillet.
      • [^] # Re: mouais, trop nouveau

        Posté par  . Évalué à 1.

        La phase de béta test date d'avant juillet il me semble bien (elle a été annoncé debut 2001, et a du commencer mi 2001).
      • [^] # Re: mouais, trop nouveau

        Posté par  . Évalué à -1.

        From orders@ReleaseNow.com Wed Jul 11 08:05:55 2001
        X-Apparently-To: nraynaud@rocketmail.com via web13905.mail.yahoo.com; 11 Jul 2001 08:09:17 -0700 (PDT)
        Received: from sj-out.releasesoftware.com (EHLO releasesoftware.com) (63.103.182.253) by mta508.mail.yahoo.com with SMTP; 11 Jul 2001 08:09:17 -0700 (PDT)
        Received: from www003 (www003 [192.168.3.52] (may be forged)) by releasesoftware.com (8.9.3/8.9.3) with ESMTP id IAA02679 for <nraynaud@rocketmail.com>; Wed, 11 Jul 2001 08:05:55 -0700 (PDT)
        Received: by www003 (8.8.8+Sun) id IAA15868; Wed, 11 Jul 2001 08:05:55 -0700 (PDT)
        Date: Wed, 11 Jul 2001 08:05:55 -0700 (PDT)
        Message-Id: <200107111505.IAA15868@www003>
        Content-Transfer-Encoding: 7bit
        Content-Type: multipart/mixed; boundary="_----------=_994863954158610"
        MIME-Version: 1.0
        De: orders@ReleaseNow.com | Bloquer cette adresse | Ajouter au carnet d'adresses
        À: nraynaud@rocketmail.com
        Objet: Intel Beta Center on Linux Order H7H32222LQHH242Q2S
        X-Mailer: MIME::Lite 1.135 (B2.11; Q2.03)
        Content-Length: 4029

        Dear Nicolas Raynaud,

        Thank you for downloading the beta version of Intel(R) C++ Compiler
        Linux from Intel's Developer Zone.

        Important License Installation Instructions:

        These instructions are intended for the user choosing default options
        during installation. For additional information or procedures for
        custom installations, please reference the following documents:

        Instructions.html (attachment to original confirmation email)
        Release notes
        Enduserman.html

        1. Untar the compiler download bundle, become root, and install the
        compiler using the script called "install". This script is created in the
        same directory where the bundle is untarred.

        2. Run the appropriate environment setup script.

        If you installed the 32 bit C++ compiler, then run

        . /opt/intel/compiler50/ia32/bin/iccvars.sh

        If you installed the Itanium (TM) C++ compiler, then run

        . /opt/intel/compiler50/ia64/bin/eccvars.sh

        *** TO PROPERLY SOURCE THE SCRIPT, MAKE SURE THERE IS A SPACE BETWEEN
        THE "." AND THE PATHNAME ***

        3. Save the attached license file into the appropriate location. The
        default location is "/opt/intel/licenses". Do a "set" command and verify
        that INTEL_FLEXLM_LICENSE=/opt/intel/licenses. If not, the script was
        not sourced ... see the *** BIG REMARK *** under 2.

        4. Start the license manager daemon:

        /opt/intel/compiler50/flexlm/lmgrd -c /opt/intel/licenses

        5. Invoke the application.


        For detailed scripting examples on automating the launching of the
        license manager daemon, please see the Detailed_instructions.txt.

        If you did not receive a license in this e-mail, please contact:
        IntelSupport@releasenow.com

        For software issues, please use your existing Intel Premier Support
        account. If you do not have an account, detailed instructions for
        obtaining one are located in the "Technical Support and Feedback" section of
        the product's Release Notes.

        [-----------begin copying here-----------]
        SERVER stagiaire01 0050FC217d1a
        VENDOR intelpto
        FEATURE l_cpp_beta intelpto 5.01 01-sep-2001 1 72A34DAE2F32 \
        VENDOR_STRING=BETA HOSTID=0050fc217d1a ck=146


        [------------end copying here------------]

        This license program will grant you full use of the application until
        September 1, 2001.

        Updates and other information regarding the Intel compilers will become
        available through Intel Premier Support, a password protected support
        service provided to you through a secure internet connection. It is
        through this service that we would like you to report issues and successes
        with the Intel compilers - we want to hear from you. To create your
        personal support account, please visit
        http://support.intel.com/support/go/linux/compilers.htm,(...) click
        "Customer Technical Support" for the compiler of choice, click "Create a
        Premier Support Account", and follow the instructions.

        Transaction ID: H7H32222LQHH242Q2S

        ------------------------------------------------------

        CUSTOMER SUPPORT
        If you have any questions about your billing or downloading the
        software please contact our Customer Support Team. Customer support is
        available 8 a.m. to 5 p.m. Pacific Time, Monday through Friday.

        E-Mail: IntelSupport@releasenow.com
        Within US & Canada: 1-800-727-1554

        Outside US & Canada: 1-650-622-1499

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.