Intensité arithmétique et bande passante de la RAM ou de la VRAM

Intensité arithmétique et bande passante de la RAM ou de la VRAM

La relation entre RAM et un processeur est totalement symbiotique, tandis que la RAM n'a pas de sens sans le processeur, elle ne peut pas vivre sans, quel que soit l'endroit où elle se trouve. Ils font donc partie d'un tout qui se nourrit les uns les autres. Il y a donc une relation pour la performance et c'est l'intensité arithmétique. Nous vous expliquons en quoi il consiste.

Un processeur, qu'il s'agisse ou non d'un Processeur ou GPU, ne fait rien d'autre que données de processus , ce qui conduit à la besoin de mémoire pour le nourrir. Malheureusement, avec le temps, la distance entre la vitesse de la mémoire et celle du CPU s'est agrandie, ce qui a conduit à la mise en œuvre de techniques telles que la mémoire cache. Nous ne pouvons pas oublier non plus le latence entre le processeur et la mémoire, ce qui se produit lorsque l'interface entre la RAM et le processeur ne peut pas accorder ou modifier les données avec une vitesse suffisante.

Cependant, nous ne pouvons pas mesurer les performances de manière générale, car chaque programme ou plutôt chaque algorithme au sein de chaque programme a une charge de calcul différente. Et c'est là qu'intervient le terme d'intensité arithmétique. Mais voyons de quoi il s'agit et en quoi il consiste, ainsi que d'autres éléments qui ont à voir avec les performances sur un ordinateur.

Qu'est-ce que l'intensité arithmétique ?

Intensité arithmétique

La densité arithmétique est une mesure de performance, consistant à mesurer le nombre d'opérations à virgule flottante qu'un processeur exécute sur une section spécifique de code. Pour l'obtenir, le nombre d'opérations à virgule flottante est divisé par le nombre d'octets que l'algorithme utilise pour s'exécuter.

À quel point est-ce utile ? Eh bien, le fait que cela permet dans certains domaines de l'informatique où des ordinateurs très puissants sont nécessaires pour des tâches spécifiques de pouvoir disposer du meilleur système matériel possible pour exécuter les algorithmes dans les meilleures conditions. Ce modèle est principalement utilisé en calcul scientifique. Bien qu'il serve également à optimiser les performances dans les systèmes fermés tels que les consoles de jeux vidéo.

Dans le cas de l'utilisation d'une architecture matérielle fortement parallélisée, une intensité arithmétique élevée est requise, c'est-à-dire un faible rapport entre bande passante et capacité de calcul à partir du moment où le rapport entre la capacité de calcul desdits processeurs et la bande passante mémoire disponible est haut. Puisqu'il est demandé dans de nombreuses applications et notamment dans le graphisme qu'un calcul soit traité plusieurs fois et donc une grande puissance de calcul est requise en comparaison.

Performance de l'algorithme et relation avec l'intensité arithmétique

Notation O Algoritmos

Lors de l'écriture d'un algorithme, les programmeurs prennent en compte les performances des algorithmes qu'ils écrivent dans leurs programmes, qui sont mesurées par la notation Big O, qui mesure la moyenne des opérations par rapport aux données. La notation Big O n'est mesurée à l'aide d'aucun benchmark, mais plutôt les programmeurs les calculent à la main pour avoir une idée approximative de la charge de travail des programmes

  • Ou (1) : le algorithme ne dépend pas de la taille des données à traiter. Un algorithme avec une performance O (1) est considéré comme ayant des performances idéales et est imbattable.
  • Sur): le temps d'exécution est directement proportionnel à la taille des données, les performances augmentent de manière linéaire. Il se peut aussi qu'un
  • O (log n) : se produit dans les algorithmes qui hachent et résolvent généralement un problème par partie, tels que les algorithmes de classement des données ou les recherches binaires.
  • O (n log n) : c'est une évolution de la précédente, il s'agit de diviser davantage la résolution des différentes parties.
  • Au 2 ): il existe des algorithmes qui effectuent plusieurs itérations car ils doivent interroger les données plusieurs fois. Par conséquent, ce sont généralement des algorithmes très répétitifs et ont donc une charge de calcul exponentielle.
  • Sur!): Un algorithme qui suit cette complexité est un algorithme totalement imparfait en termes de performances et nécessite une réécriture.

Tous les algorithmes ne peuvent pas atteindre le niveau de complexité O (1), et certains d'entre eux fonctionnent beaucoup mieux sur un type de matériel que sur un autre. C'est pourquoi des accélérateurs ou processeurs spécifiques à un domaine ont été développés ces dernières années pour accélérer un type d'algorithme par rapport à d'autres. L'idée générale est de diviser les algorithmes en parties et de traiter chacun d'eux avec l'unité de traitement la plus adaptée à son intensité arithmétique.

Rapport entre communication et informatique

CPU RAM Placa PC

Le cas inverse est le rapport entre la communication et le calcul, qui est mesuré inversement à l'intensité arithmétique et est donc obtenu en divisant le nombre d'octets par la puissance dans les opérations à virgule flottante. Il est donc utilisé pour mesurer la bande passante requise pour exécuter cette partie du code. Le problème lors de la mesure vient du fait que les données ne sont pas toujours au même endroit et donc la bande passante RAM sert de référence.

Il faut prendre en compte qu'il ne s'agit pas d'une mesure totalement fiable, non seulement du fait que le système de cache rapproche les données du processeur, mais aussi du fait qu'il y a le phénomène de latence où chaque type de mémoire La RAM utilisée présente des avantages et des inconvénients différents et le résultat peut varier en fonction du type de mémoire utilisé.

Aujourd'hui, lors du choix de la mémoire dans un système, non seulement la bande passante est prise en compte, mais également la consommation d'énergie, car le coût énergétique du déplacement des données dépasse le coût de leur traitement. Vous optez donc pour certains types de mémoires spécifiques dans certaines applications. Bien sûr, toujours dans les limites des coûts associés à la construction d'un système et ils ne sont pas les mêmes dans un superordinateur que dans un PC domestique.