Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class program_cache

Boost , Chapter 1. Boost.Compute , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class program_cache

boost::compute::program_cache

Synopsis

// In header: <boost/compute/utility/program_cache.hpp>

class program_cache : private noncopyable {
public:
  // construct/copy/destruct
  program_cache(size_t);
  ~program_cache();
  // public member functions
  size_t size() const;
  size_t capacity() const;
  void clear();
  boost::optional< program > get(const std::string &);
  boost::optional< program > get(const std::string &, const std::string &);
  void insert(const std::string &, const program &);
  void insert(const std::string &, const std::string &, const program &);
  program get_or_build(const std::string &, const std::string &, 
                       const std::string &, const context &);
  // public static functions
  static boost::shared_ptr< program_cache > get_global_cache(const context &);
};

Description

Программа_cacheкласс хранит объекты программы в кэше LRU.

Этот класс может быть использован для смягчения накладных расходов модели компиляции ядра во время выполнения OpenCL. Обычно используемые программы могут постоянно храниться в кэше и компилироваться только один раз при их первом использовании.

Объекты программы хранятся и извлекаются на основе ключа кэша, определенного пользователем, а также опций, используемых для создания программы (если таковые имеются).

Например, вставить программу в кэш:

cache.insert("foo", foo_program);

И отозвать программу позже:

boost::optional<program> p = cache.get("foo");
if(p){
    // program found in cache
}

См. также:

программа

program_cache public construct/copy/destruct

  1. программа_кэшразмер_tемкость];

    Создает новый программный кэш с пространством дляемкостьколичества программных объектов.

  2. ~program_cache();
    Уничтожает кэш программы.

program_cache public member functions

  1. size_tsize()const;
    Возвращает количество программных объектов, хранящихся в кэше.
  2. size_tcapacity()const;
    Возвращает общую емкость кэша.
  3. пустотаясно;
    Очистить кэш программы.
  4. boost::optional<program>get(conststd::string&key);

    Возвращает объект программы сkey. Возвращает нулевую опцию, если в кэше не существует программы сkey.

  5. boost::optional<program>
    get(conststd::string&key,conststd::string&options);

    Возвращает объект программыkeyиoptions. Возвращает нулевую опцию, если в кэше нет программы сkeyиoptions.

  6. voidinsert(conststd::string&key,constprogram&program);
    Вставитьprogramв кэшkey.
  7. voidвставитьstd::строка&ключ,conststd::строка&опции,констпрограмма&программа;
    Вставкапрограммав кэш сключиопции.
  8. programget_or_build(conststd::string&key,conststd::string&options,
                        conststd::string&source,constcontext&context);

    Загружает программуkeyиз кэша, если она существует. В противном случае строится новая программа сsourceиoptions, хранит ее в кэше и возвращает.

    Это удобная функция для упрощения общей схемы попытки загрузки программы из кэша и, если ее нет, создания программы из источника и хранения ее в кэше.

    Эквивалентно:

    boost::optional<program>p=get(key,options);
    if(!p){
       p=program::create_with_source(source,context);
       p->build(options);
       insert(key,options,*p);
    }
    return*p;
    

program_cache public static functions

  1. статическийимпульс::shared_ptr<program_cache>get_global_cacheconstконтекст&контекст;

    Возвращает глобальный кэш программы дляконтекста.

    Этот глобальный кэш используется внутри Boost. Вычислить для хранения скомпилированных объектов программы, используемых ее алгоритмами. Всем подняться. Вычислительные программы хранятся с кэш-ключом, начинающимся с«__boost». Пользовательские программы должны избегать использования одного и того же префикса для предотвращения столкновений.


PrevUpHomeNext

Статья Class program_cache раздела Chapter 1. Boost.Compute Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:36:08/0.0044138431549072/0