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

C++ Discussion :

Contribution à un logiciel temps réel/multithreading


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Par défaut Contribution à un logiciel temps réel/multithreading
    Bonjour,

    Voilà, je programme depuis plusieurs années maintenant en c++ et depuis peu en c# (1an). Dernièrement j'ai décidé de me familiariser avec la programmation temps réel et de bien maitriser le multithreading CPU. Pour cela, le meilleur moyen à mon avis, c'est de se lancer dans la programmation d'une application utilisant ces deux techniques et sous mon OS préféré (Linux). Sachant que j'ai pas mal de compétences en mathématiques, j'aurai voulu savoir si vous auriez une idée de quelque chose d'utile que je peux programmer ou encore un projet déjà en cours auquel je pourrai me joindre et contribuer.

    Merci à tous

  2. #2
    screetch
    Invité(e)
    Par défaut
    Salut,
    pour le multithread en general on prend en exemple un programme qui permet de simuler un très grand nombre de "quelque chose", par exemple, un très grand nombre de particules avec collisions, un très grand nombre de sprites, un très grand nombre de...
    après ca dépend de ce que tu sais faire, et de ce que tu aimerais voir en grand nombre.
    un critère important de bon résultat c'est de permettre d'aller deux fois plus vite avec deux fois plus de cores (et non pas 1,8x plus vite, donc d'avoir une progression linéaire en fonction du nombre de cores).

  3. #3
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Tu peux programmer un jeu de la vie en multithread, à toi de voir quel est le travail de tes threads : calculer une partie du tableau, ou calculer différentes générations.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  4. #4
    Membre expérimenté Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 624
    Par défaut
    Pour faire Tron, programmes des objets (un nom au pif : LightCycle) se baladant sur une grille de manière aléatoire
    A toi de voir les conditions de destructions ensuite...

  5. #5
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Citation Envoyé par ManusDei Voir le message
    Pour faire Tron, programmes des objets (un nom au pif : LightCycle) se baladant sur une grille de manière aléatoire
    A toi de voir les conditions de destructions ensuite...
    Je vois pas bien en quoi du multithread est interessant pour ce cas ci?

  6. #6
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Quant au temps réel sous linux ça va être compliqué... (quoique me semble que y'a quelques branch du kernel spécialisée)

  7. #7
    Membre expérimenté Avatar de ManusDei
    Homme Profil pro
    vilain troll de l'UE
    Inscrit en
    Février 2010
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : vilain troll de l'UE

    Informations forums :
    Inscription : Février 2010
    Messages : 1 624
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Je vois pas bien en quoi du multithread est interessant pour ce cas ci?
    A chaque objet correspond un thread, et ils doivent discuter avec le thread grille.

  8. #8
    Membre actif
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Je te conseil de programmer un algo comme Monte Carlo vu que tu precises que tu as des competences mathematiques.

    Une application possible de ton prog peut etre en finance.
    Tu simules avec un algo de monte Carlo le prix des options.
    Pour une option tu simules 200 chemins possibles.
    Et ensuite tu fais la moyennne de tous les chemins pour obtenir le prix.
    Il y a bcp de doc sur le net sur le sujet.

  9. #9
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 28
    Par défaut
    Merci à tous pour vos réponses,

    Finalement j'ai décidé de tester sur un exemple issu de la finance, je vais faire ca pour un algorithme de pricing d'une option avec la méthode des arbres.

    Par contre, cette histoire de temps réel va encore me poser des problèmes car je ne vois pas encore comment faire.

  10. #10
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Citation Envoyé par jblecanard Voir le message
    Windows n'est pas temps réel,
    http://en.wikipedia.org/wiki/Windows_CE
    http://download.microsoft.com/downlo...ce032_wh06.ppt

    Citation Envoyé par microhft Voir le message
    Par contre, cette histoire de temps réel va encore me poser des problèmes car je ne vois pas encore comment faire.
    Histoire d'être clair, qu'entends-tu par temps réel ?

  11. #11
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Heu oui Windows CE est temps réel, mais il n'a rien à voir avec la famille NT,XP, Vista... C'est un OS distinct. Donc le Windows que tu as sur ton PC (si tu l'as) n'est pas temps réel.

    Par temps réel, je suppose qu'il entend bien temps réel au sens ou windows CE l'est par exemple. Le meilleur moyen de faire du temps réel sur une machine de bureau est à mes yeux un linux avec le noyau patché rt. Si quelqu'un en connaît d'autres... ça m'intéresse aussi.

  12. #12
    Membre très actif Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Par défaut
    Essaye d'appliquer des filtres de convolutions en multithread avec répartition de charges. Ou une représentation de l'ensemble de Mandelbrot, c'est concret et simpa à coder, pas super dur mais un bon exercice.

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/02/2009, 17h55

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