IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Gerer l'hyperthreading avec D7Pro


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 22
    Points : 19
    Points
    19
    Par défaut Gerer l'hyperthreading avec D7Pro
    Bonjour à tous,

    Je voudrais savoir s'il est possible de gerer les avantages de l'hyperthreading avec Delphi 7 Pro.

    Je m'explique, j'ai un programme de supervision qui gère un atelier d'assemblage de pièces avion. Dans ce programme j'ai une partie simulation (dans un thread) qui demande beaucoup de ressources. J'aurais aimé affecter cette partie au processeur "virtuel" et laisser le reste du programme sur le processeur physique.

    Si vous avez des infos sur le sujet j'en serais ravis.

    Rustine

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Pour utiliser l'hyperthreading, c'est simple: utilise des threads En gros, l'hyper threading simule un second processeur qui peut s'occcuper d'un thread différent que le premier. Donc si tu programmes avec des threads, automatiquement, tu utiliseras l'hyper threading
    Bon c'est très théorique parce que dans la réalité ça ne se passe jamais comme ça: il y a déjà une tonne de threads dans Windows. Tu ne peux pas imposer: tel processeur fait ci et l'autre fait ça.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    mat.M
    Invité(e)
    Par défaut
    Yep faut créer des objets TThread .
    Mais pour utiliser la quintessence du CPU , du code en assembleur est envisageable.

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Citation Envoyé par mat.M
    Yep faut créer des objets TThread .
    Mais pour utiliser la quintessence du CPU , du code en assembleur est envisageable.
    Non je ne pense pas qu'en assembleur on puisse assigner l'un ou l'autre processeur. L'aiguillage se fait en interne.
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre habitué
    Développeur .NET
    Inscrit en
    Juin 2002
    Messages
    274
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2002
    Messages : 274
    Points : 174
    Points
    174
    Par défaut
    Salut,
    Citation Envoyé par Pedro
    Non je ne pense pas qu'en assembleur on puisse assigner l'un ou l'autre processeur. L'aiguillage se fait en interne.
    En assembleur je sais pas faire, mais en win32 API oui : SetProcessAffinityMask
    A+

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 421
    Points : 5 820
    Points
    5 820
    Par défaut
    salut

    pour completer l'info
    voila des methode permettant l'utilisation d'un process ou thread

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      SetProcessAffinityMask
    SetThreadAffinityMask 
    SetThreadIdealProcessor
    @+ Phil
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Merci pour vos réponses, je vais me pencher sur les fonctions cités par anapurna.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#] Comment gérer la pagination avec un GridView ?
    Par appwnet dans le forum ASP.NET
    Réponses: 5
    Dernier message: 05/05/2006, 13h47
  2. [SGBD] Gérer des droits avec php/mysql
    Par pontus21 dans le forum Administration
    Réponses: 9
    Dernier message: 04/05/2006, 19h56
  3. [JDBC] comment gerer un Datasource avec Connector/J
    Par wdionysos dans le forum JDBC
    Réponses: 1
    Dernier message: 11/01/2006, 15h11
  4. Gérer les espaces avec SED
    Par byloute dans le forum Linux
    Réponses: 7
    Dernier message: 29/10/2005, 19h07
  5. Comment bien gerer la mémoire avec les TStringList?
    Par david_chardonnet dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2003, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo