Ta référence à « thread private », etc., n'est valable que pour OpenMP
Bien sur que non. C'est une fonctionnalité de NPTL incluse dans gcc, cela doit correspondre à un attribute particulier.
Sur Montecito on a 12 Mo de cache L3, et une architecture plutôt très bien foutue dans le cas des calculs flottants et de calcul sur des flux de données. La bande-passante mémoire est plutôt bonne (de l'ordre de 10Gio/s), donc non, ce n'est pas particulièrement gênant.
12 Mo de cache, c'est ok, tant que tu restes dans le cache ou que plusieurs processeurs n'y accède pas en même temps.
10 Goi/s c'est beaucoup pour un seul processeur mais si tu en as 8 à double coeur, cela commence à faire trés peu... Intel, n'utilise qu'un seul bus mémoire pour l'instant, au contraire des opterons. Normalement, une machine à 8 double coeurs AMD sera bien plus rapide car la bande passante par processeurs est plus élevé.
Tes threads niveau utilisateur, c'est top tant que tu ne fais aucun appel système. Mais j'imagine que tu le sais déjà. Si tu fais des appels système ( read, write ou malloc...), tu gèles tout.
D'ailleurs si l'ordonnanceur ne te convient pas, il y a moyen de le tunner pour que les taches bougent moins vite que d'habitude. Cela tue la latence, mais si tu ne fais pas de réseau, cela peut aller plus vite.
[^] # Re: Le fortran
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Qu'est-ce qu'un langage sécurisé ?. Évalué à 1.
Bien sur que non. C'est une fonctionnalité de NPTL incluse dans gcc, cela doit correspondre à un attribute particulier.
Sur Montecito on a 12 Mo de cache L3, et une architecture plutôt très bien foutue dans le cas des calculs flottants et de calcul sur des flux de données. La bande-passante mémoire est plutôt bonne (de l'ordre de 10Gio/s), donc non, ce n'est pas particulièrement gênant.
12 Mo de cache, c'est ok, tant que tu restes dans le cache ou que plusieurs processeurs n'y accède pas en même temps.
10 Goi/s c'est beaucoup pour un seul processeur mais si tu en as 8 à double coeur, cela commence à faire trés peu... Intel, n'utilise qu'un seul bus mémoire pour l'instant, au contraire des opterons. Normalement, une machine à 8 double coeurs AMD sera bien plus rapide car la bande passante par processeurs est plus élevé.
Tes threads niveau utilisateur, c'est top tant que tu ne fais aucun appel système. Mais j'imagine que tu le sais déjà. Si tu fais des appels système ( read, write ou malloc...), tu gèles tout.
D'ailleurs si l'ordonnanceur ne te convient pas, il y a moyen de le tunner pour que les taches bougent moins vite que d'habitude. Cela tue la latence, mais si tu ne fais pas de réseau, cela peut aller plus vite.
"La première sécurité est la liberté"