Effectivement, mais faudra toujours faire un compromis entre séparation/module et recherche des perfs.
C'est la vie ça, des compromis :-)
On a tout de même pas mal de logiciels où la partie calcul peut être mis dans un coin, les jeux par exemple, ou souvent la partie 3D/physique est codée en C++, mise dans des DLL à part, et la partie IA codé dans des langages style python. C'est le cas pour la série des civilisations il me semble.
C'est expliqué ici http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-(...) page 17
Il explique qu'on autant de ligne de code pour la partie "scripting" que pour la partie "numeric computation", mais que la première ne consomme que 10% des ressources.
Il y a beaucoup de cas comme ça.
Ca me paraît important ça effectivement. Lisaac apporte quoi pour la programmation parallèle ?
L'algo d'optimisation global cherche-t-il par exemple à paralléliser ce qui peut l'être ? Quels sont les outils à la disposition du programmeur pour guider le compilo dans ce travail ? Quels avantages/apports par rapport à l'existant ?
Lisaac propose le modèle COP (Concurent Object programming).
Tu définis ton objet en tant que parallelisable, et chaque appel non bloquant (ie, ne retournant pas de valeurs) est exécuté en parallèle. Le compilateur te garanti la gestion des synchronize, qui est transparente pour toi.
Pour la détection de parallèlisme, on y a pensé, mais ça nécessite de trouver un thésard pour travailler dessus. On pense aussi au parralèlisme spéculatif, reprenant le concept de prédiction de branchement.
Mais c'est pareil, c'est encore un travail de thèse.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker
[^] # Re: beaucoup de blabla, peu d'info
Posté par Ontologia (site web personnel) . En réponse au journal Retour sur le Isaac Meeting 2008. Évalué à 4.
C'est la vie ça, des compromis :-)
On a tout de même pas mal de logiciels où la partie calcul peut être mis dans un coin, les jeux par exemple, ou souvent la partie 3D/physique est codée en C++, mise dans des DLL à part, et la partie IA codé dans des langages style python. C'est le cas pour la série des civilisations il me semble.
C'est expliqué ici http://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-(...) page 17
Il explique qu'on autant de ligne de code pour la partie "scripting" que pour la partie "numeric computation", mais que la première ne consomme que 10% des ressources.
Il y a beaucoup de cas comme ça.
Ca me paraît important ça effectivement. Lisaac apporte quoi pour la programmation parallèle ?
L'algo d'optimisation global cherche-t-il par exemple à paralléliser ce qui peut l'être ? Quels sont les outils à la disposition du programmeur pour guider le compilo dans ce travail ? Quels avantages/apports par rapport à l'existant ?
Lisaac propose le modèle COP (Concurent Object programming).
Tu définis ton objet en tant que parallelisable, et chaque appel non bloquant (ie, ne retournant pas de valeurs) est exécuté en parallèle. Le compilateur te garanti la gestion des synchronize, qui est transparente pour toi.
Pour la détection de parallèlisme, on y a pensé, mais ça nécessite de trouver un thésard pour travailler dessus. On pense aussi au parralèlisme spéculatif, reprenant le concept de prédiction de branchement.
Mais c'est pareil, c'est encore un travail de thèse.
« Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker