FastMath : qui me prête son G5 ?

ChachaChacha Membre
août 2005 modifié dans Vos applications #1
Salut,

Je suis en train de me faire une petite bibliothèque de fonctions mathématiques "rapides". Bon, ça dépend vachement de l'architecture, et j'aimerais bien savoir comment ça se comporte sur un G5.
Est-ce que quelqu'un pourrait tester ?
Je joins une archive à  dézipper. Il y a juste à  faire "make -f Makefile.G5" et à  exécuter "make -f Makefile.G5 test". J'ai simplement besoin des fichier de résultats *.out qui sont créés pendant l'exécution.
Merci !

+
Chacha

PS : pour que la comparaison soit pertinente, il faudrait utiliser un gcc 4.0, donc en gros : test à  faire sous Tiger.

[edit]
J'enlève la PJ, elle n'est plus pertinente ici.
[/edit]

Réponses

  • odjauodjau Membre
    22:19 modifié #2
    Si j'i bien tout compris après dézippage sous terminal on lance les deux commandes...

    La première semble avoir marché mais la seconde... ça m'a donné ça :

    G5-bipro:/Volumes/Archives/DL/FastMath class$ make -f Makefile.G5
    g++ -s -Wall -ansi -pedantic -DNDEBUG -o Timer.o -c Timer.cpp
    g++ -s -Wall -ansi -pedantic -DNDEBUG -O0 -o main-O0.o -c main.cpp
    g++ -s -Wall -ansi -pedantic -DNDEBUG -O1 -o main-O1.o -c main.cpp
    g++ -s -Wall -ansi -pedantic -DNDEBUG -O2 -o main-O2.o -c main.cpp
    g++ -s -Wall -ansi -pedantic -DNDEBUG -O3 -o main-O3.o -c main.cpp
    g++ -s -Wall -ansi -pedantic -DNDEBUG -O3 -fast -ffast-math -mtune=G5 -o main-O3ff.o -c main.cpp
    g++  -o test-fastmath-O0 Timer.o main-O0.o
    g++  -o test-fastmath-O1 Timer.o main-O1.o
    g++  -o test-fastmath-O2 Timer.o main-O2.o
    g++  -o test-fastmath-O3 Timer.o main-O3.o
    g++  -o test-fastmath-O3ff Timer.o main-O3ff.o
    G5-bipro:/Volumes/Archives/DL/FastMath class$ make -f Makefile.G5 test
    test-fastmath-O0 results-gcc-4.0.0-G5-O0.out
    make: test-fastmath-O0: Command not found
    make: *** [test] Error 127
    G5-bipro:/Volumes/Archives/DL/FastMath class$ make -f Makef ile.G5 test


    ou ais-je donc merdu
  • fouffouf Membre
    22:19 modifié #3
    Je n'ai pas pu tester ta blibliothèque, n'étant ni sur Tiger ni sur G5. Par contre, j'ai jeté un coup d'oeuil à  ton code et j'ai quelques questions :
    Comment fais tu pour que ces fonctions soient "rapides" ?
    Dans ton fichier main.cpp, tu fais des appels du genres FastMath::fastSqrt(*it). A quoi cela correspond-t-il ?
    Quels sont les gains par rapport à  un algo "lent" ?
    Pourra-t-on l'utiliser pour faires des calculs dans un programme Obj-C ?

    Merci d'avance.
  • ChachaChacha Membre
    22:19 modifié #4
    dans 1124359697:

    make: test-fastmath-O0: Command not found


    Ah, c'est que tu n'as pas "." dans ton PATH.
    Tape donc
    <br />export PATH=$PATH:.<br />
    


    Et ça devrait marcher.
    Désolé
  • ChachaChacha Membre
    août 2005 modifié #5
    dans 1124360111:

    Comment fais tu pour que ces fonctions soient "rapides" ?

    Je ne suis pas l'auteur des algos, mais je les ai simplement codés et organisés proprement. Ce sont des méthodes de calcul de sinus, cosinus... censées être moins précises mais plus rapides que les fonctions de math.h


    Dans ton fichier main.cpp, tu fais des appels du genres FastMath::fastSqrt(*it). A quoi cela correspond-t-il ?

    Ben, c'est du C++
    FastMath, c'est le nom de mon namespace, et "it" c'est un itérateur.


    Quels sont les gains par rapport à  un algo "lent" ?

    Je publierai les gains dès que j'aurai les résultats pour G5. Au passage, je ne compare pas à  des algos "lent", mais aux sin, cos et autres intégrés à  math.h
    Les premiers résultats sont les suivants: sur G4, ça vaut vraiment le coup (gros gains), et sur i386, le gain est ridicule (quand il y en a un).


    Pourra-t-on l'utiliser pour faires des calculs dans un programme Obj-C ?

    C++ et Objective-C++


    Chacha
  • Eddy58Eddy58 Membre
    22:19 modifié #6
    dans 1124366003:

    et sur i386, le gain est ridicule (quand il y en a un).

    Comment t'as eu les résultats sur i386 ?? ???
  • ChachaChacha Membre
    22:19 modifié #7
    dans 1124366660:

    Comment t'as eu les résultats sur i386 ?? ???

    Ben j'ai exécuté sur un PC linux
  • Eddy58Eddy58 Membre
    22:19 modifié #8
    Ha ben oui c'est vrai que c'est du C++. J'avais oublié ce détail. ;)
  • odjauodjau Membre
    22:19 modifié #9
    Voili, voila, les résultats sont en PJ  :)

    J'ai lancé le test une fois en dual et une autre fois en mono. Je suis curieux de savoir si cela influs sur les résultats. Si c'est le cas, je parie pour des résultats meilleur en mono...

    Si cela t'interesse la machine que j'ai utilisée est G5 bipro 2GHz avec 2,5 Go de ram.

    [Fichier joint supprimé par l'administrateur]
  • ChachaChacha Membre
    22:19 modifié #10
    dans 1124370395:

    Voili, voila, les résultats sont en PJ  :)

    Merci merci !
    Je regarde ça, je fais des graphiques et je vous tiens au courant.

    +
    Chacha
  • ChachaChacha Membre
    août 2005 modifié #11
    Voilà , j'ai ouvert un nouveau thread ici:
    http://www.objective-cocoa.org/forum/index.php?topic=1134.msg12310#msg12310

    Merci!

    +
    Chacha

    [edit]

    Je suis curieux de savoir si cela influs sur les résultats. Si c'est le cas, je parie pour des résultats meilleur en mono...

    Franchement, es ist alles kif-kif bourricot, comme j'aimais à  le dire à  ma prof d'allemand. ça ne change quasiment rien.
    [/edit]
  • fouffouf Membre
    22:19 modifié #12
    C'est bizarre, parce que j'aurait dit la même chose que Pti... odjau ::).

    Et puis, j'aime beaucoup ton Allemand Chacha :P
Connectez-vous ou Inscrivez-vous pour répondre.