结构体 faiss::InterruptCallback

struct InterruptCallback

faiss::TimeoutCallback 继承

公共函数

virtual bool want_interrupt() = 0
inline virtual ~InterruptCallback()

公共静态函数

static void clear_instance()
static void check()

检查是否

  • 设置了中断回调

  • 如果是这种情况,回调返回 true,然后抛出异常。不应从多个线程调用。

static bool is_interrupted()

check() 相同,但如果中断则返回 true,而不是抛出异常。可以从多个线程调用。

static size_t get_period_hint(size_t flops)

假设每次迭代需要一定数量的 flops,检查中断的合理间隔是多少?

公共静态属性

static std::mutex lock
static std::unique_ptr<InterruptCallback> instance