Mandelbrot

Présentation
Génération de l'ensemble de mandelbrot et des ensembles de julia sur CPU & GPU
Affichage dans une fenetre utilisant la SDL.
Dependances : SDL.lib, SDLmain.lib, cudart.lib
4 modes d'affichage : gray-level, gray-level-reversed, RGB random, Green (comme le logo).
Navigation : zoom - unzoom, directionnelle, reinitialisation, augmenter resolution, diminuer resolution, retour en arriere
Pour représenter l'ensemble de julia associé à un point du plan : faire un clic du milieu.
Pour revenir au mandelbrot : clic du milieu n'importe où

Multiplateforme (Windows - Linux) [ j'ai jamais developpé sous mac, mais j'imagine que ça marche aussi ;) ]

Update : Support cuda pour le calcul. Editer le fichier params.h et mettre les valeurs correspondant à votre carte graphique
g_block_dim // g_grid_dim
PLATFORM : utiliser CUDA pour travailler sur GPU, CPU pour rester sur CPU.

Résultats obtenus sur le calcul de l'ensemble (le plot est limitant avec la SDL...) pour maxiter = 20, image 256x256

CPU : Xeon W3550 @ 3.07 GHz : 240 FPS
GPU: Geforce GT470 : 1000 FPS ( g_block_dim = 256 // g_grid_dim = 32 ) (image 1024-1024)


EDIT : projet visual c++ 2008 joint
Téléchargement
Compatibilité
Linux Windows
1  0 
Téléchargé 26 fois Voir les 19 commentaires
Détails
Éditeur : regis.portalez   +
Licence : GPL
Date de mise en ligne : 23 janvier 2017




Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 24/02/2011 à 15:01
Bonjour,

Je vous propose un nouvel élément à utiliser : Mandelbrot

Génération de l'ensemble de mandelbrot sur CPU

Affichage dans une fenetre utilisant la SDL.

Dependances : SDL.lib, SDLmain.lib

3 modes d'affichage : gray-level, gray-level-reversed, RGB random.

Navigation : zoom - unzoom (souris), directionnelle (fleches), retour (tab), augmenter resolution (espace)

Multiplateforme (Windows - Linux) [ j'ai jamais developpé sous mac, mais j'imagine que ça marche aussi ;) ]

Qu'en pensez-vous ?
Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 24/02/2011 à 15:45
ps : j'ai fait une petite mise-à-jour... comment modifie-t-on le fichier pour changer de version?

merci
Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 25/02/2011 à 10:49
J'ai fait une autre mise à jour, comment faire pour changer le fichier?

(je suis passé à 60 fps en gros)
Avatar de dourouc05 dourouc05 - Responsable Qt & Livres https://www.developpez.com
le 25/02/2011 à 10:52
Tu retournes sur la page de ta source, tu te connectes en bas de la colonne de droite, puis tu as un bouton éditer juste à côté de l'icône Twitter et en dessous de la date de mise à jour. Là, tu devrais pouvoir t'amuser.
Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 25/02/2011 à 11:17
impeccable merci
Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 25/02/2011 à 17:56
Je viens d'intégrer CUDA.

La mémoire est pinned pour éviter les transitions CPU <-> GPU

Si qqn avait la bonté de tester sur une bonne grosse 580 je serais content de voir ce que ça donne
Avatar de regis.portalez regis.portalez - Membre habitué https://www.developpez.com
le 07/03/2011 à 15:51
MISE A JOUR :

Génération de l'ensemble de mandelbrot sur CPU
Affichage dans une fenetre utilisant la SDL.
Dependances : SDL.lib, SDLmain.lib
3 modes d'affichage : gray-level, gray-level-reversed, RGB random.
Navigation : zoom - unzoom, directionnelle, reinitialisation, augmenter resolution, diminuer resolution, retour en arriere

Multiplateforme (Windows - Linux) [ j'ai jamais developpé sous mac, mais j'imagine que ça marche aussi ;) ]

Update : Support cuda pour le calcul. Editer le fichier params.h et mettre les valeurs correspondant à votre carte graphique
g_block_dim // g_grid_dim
PLATFORM : utiliser CUDA pour travailler sur GPU, CPU pour rester sur CPU.

Résultats obtenus sur le calcul de l'ensemble (le plot est limitant avec la SDL...) pour maxiter = 20, image 256x256

CPU : Xeon W3550 @ 3.07 GHz : 240 FPS
GPU: Quadro NVS 295 : 1000 FPS ( g_block_dim = 128 // g_grid_dim = 32 )
Avatar de Lawyer666 Lawyer666 - Membre habitué https://www.developpez.com
le 23/03/2011 à 18:10
Programme très sympa, excellent pour s'initier à CUDA. Félicitations.
Avatar de oxyde356 oxyde356 - Membre éprouvé https://www.developpez.com
le 24/03/2011 à 11:22
Bon travail, de plus c'est toujours bien d'avoir des sources récentes et abordables pour l'initiation, merci pour le partage.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -

Partenaire : Hébergement Web