• [^] # Re: Surprise

    Posté par (site web personnel) . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 2.

    Ne mélange pas ce qui existe et ce qu'il est possible de faire. Lisaac produit du C89 car en l'état actuelle des choses, il n'y a aucun intérêt à produire autre chose sauf à être incompatible.

    Je pense que si il produit autre chose, cela sera du "C99 gcc" avec les bonnes extensions.

    Concernant la vectorisation automatique, gcc en fait déjà pas mal tout seul comme un grand. Je penche plutôt sur le fait de faire des boucles qui s'automatise facilement. Vu la quantité de matière grise mis sur ce genre de problématique, je ne pense pas que l'on puisse faire une grosse différence.

    Donc, en gros, on pense s'appuyer sur GCC pour faire la vectorisation, et sur l'utilisation de lib qui manipulerait directement soit les types vectoriels de Gcc ("v4sf",etc...), soit de l'assembleur mais c'est encore moins portable.

    Concernant la taille de blocs en fonction du cache, on peut faire 2 stratégies : l'une dynamique en utilisant une lib qui donne la taille des caches, l'autre qui prend une taille "catch all" : 32 Ko qui correspond à une taille très courante de cache L1.

    Concernant les versions de ton code, la version octave serait aussi utile pour l'utiliser comme version "haut niveau" de référence pour coder en Lisaac.

    "La première sécurité est la liberté"