X-Git-Url: http://git.euphorik.ch/?p=GPU.git;a=blobdiff_plain;f=WCudaMSE%2FStudent_Cuda_Image%2Fsrc%2Fcpp%2Fcore%2F02_Mandelbrot_Julia%2Fmoo%2Fhost%2FFractal.h;h=41813e2524ad957574586213331281ef7f0fd160;hp=5ad7b83809d618ebc731490c916e4dbc5f26d495;hb=fd0031be0a39a5d902750affaff6322fcd5229b1;hpb=2fd5d915e8a9de4d957d6031d2d68088784eac3c diff --git a/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h b/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h index 5ad7b83..41813e2 100755 --- a/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h +++ b/WCudaMSE/Student_Cuda_Image/src/cpp/core/02_Mandelbrot_Julia/moo/host/Fractal.h @@ -21,8 +21,6 @@ class Fractal : public AnimableFonctionel_I int getH() /*override*/; DomaineMath* getDomaineMathInit() /*override*/; - string getTitle(void) /*override*/; - protected: // Inputs const int w; @@ -33,25 +31,32 @@ class Fractal : public AnimableFonctionel_I const dim3 db; DomaineMath* ptrDomaineMathInit; - - // Outputs - const string title; }; class FractalMandelbrot : public Fractal { public: - FractalMandelbrot(int w, int h, int dn); + FractalMandelbrot(int w, int h, int dn, bool multiGPU = false); void animationStep(); std::vector getNames(); void getValues(float* values); + std::string getTitle(); + private: - void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/; + void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath); VariateurI variateurAnimationN; int n; + + string title; + + // Utilisé uniquement dans le cadre du multi-GPU. + bool multiGPU; + uchar4** ptrDevPixelsMultGPU; // La mémoire alloué pour les GPU autres que le premier + int hFirstDevice; // Hauteur de l'image à traiter par le premier GPU. + int hDevices; // Hauteur de l'image à traiter par les autres GPU. }; class FractalJulia : public Fractal @@ -63,8 +68,10 @@ class FractalJulia : public Fractal std::vector getNames(); void getValues(float* values); + std::string getTitle(); + private: - void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath) /*override*/; + void runGPU(uchar4* ptrDevPixels, const DomaineMath& domaineMath); const int n;