Skip to content
Snippets Groups Projects
Select Git revision
  • cec37b69e01e59089a684dbd957ae70d1b7943ce
  • master default protected
  • CLFFT_NO_MAD_ENABLE
  • BRP_build_fixes
  • override_cl_compile_options
  • improve_Makefile
  • HSA
  • clmathfft
  • longer_dft_support
  • current_brp_apps
  • current_fgrp_apps
11 results

test.single.2

Blame
    • Heinz-Bernd Eggenstein's avatar
      20314512
      Bug #1608: clFFT use of native_sin , native_cos can cause validation problems · 20314512
      Heinz-Bernd Eggenstein authored
      experimental: -added alternative method for twiddle factor calc, using a smaller LUT (256 * float2 )
                     via Taylor series to 3rd order, seems to be almost as accurate as method with 2 bigger LUTs, but faster.
                    -improved method w/ 2 bigger LUTs to use LUTs of float2
                    -improved method using slow sin/cos functions (now uses sincos combined function), still slow
                    - preparaed plan struct to have method switchable at plan creation time.
      
                    TODO: load smaller LUT for Taylor series approx into shared mem.
      20314512
      History
      Bug #1608: clFFT use of native_sin , native_cos can cause validation problems
      Heinz-Bernd Eggenstein authored
      experimental: -added alternative method for twiddle factor calc, using a smaller LUT (256 * float2 )
                     via Taylor series to 3rd order, seems to be almost as accurate as method with 2 bigger LUTs, but faster.
                    -improved method w/ 2 bigger LUTs to use LUTs of float2
                    -improved method using slow sin/cos functions (now uses sincos combined function), still slow
                    - preparaed plan struct to have method switchable at plan creation time.
      
                    TODO: load smaller LUT for Taylor series approx into shared mem.
    GraphicsEngineFactory.h 1.26 KiB
    #ifndef GRAPHICSENGINEFACTORY_H_
    #define GRAPHICSENGINEFACTORY_H_
    
    #include "AbstractGraphicsEngine.h"
    #include "StarsphereS5R3.h"
    
    /**
     * \brief Factory to create graphics engines
     *
     * \author Oliver Bock\n
     * Max-Planck-Institute for Gravitational Physics\n
     * Hannover, Germany
     */
    class GraphicsEngineFactory
    {
    public:
    	/// Destructor
    	virtual ~GraphicsEngineFactory();
    	
    	/// Identifiers of supported graphics engines
    	enum Engines {
    		Starsphere = 1
    	};
    	
    	/// Identifiers of supported science applications
    	enum Applications {
    		EinsteinS5R3 = 53
    	};
    	
    	/**
    	 * \brief Instantiates a new graphics engine
    	 * 
    	 * Use this method to create a new grahics engine instance. However, please make
    	 * that you use only sensible combinations of \c engine and \c application (you
    	 * should know them).
    	 * 
    	 * \param engine The identifier of the requested graphics engine
    	 * \param application The identifier of the requested science application support
    	 * 
    	 * \return The pointer to the new engine instance
    	 * 
    	 * \see Engines
    	 * \see Applications
    	 */
    	static AbstractGraphicsEngine * createInstance(Engines engine, Applications application);
    	
    private:
    	/// Contructor (private since this a purely static factory)
    	GraphicsEngineFactory();
    };
    
    #endif /*GRAPHICSENGINEFACTORY_H_*/