我想测试不同的算法来计算加速(单核、cuda、多核)。函数头如下所示:
void fraktale_cpu_single(pfc::bitmap * bmp,
pfc::RGB_3_t * color_table,
const par::complex<float> C)
我总是要初始化相同的数据,所以我想写一个函数来调用函数指针。
void do_function_with_pic(
std::function<void(pfc::bitmap * bmp,
pfc::RGB_3_t * color_table,
const par::complex<float> C)> Func,
const string pic_name)
在单核和 cuda 中没问题,在多核中我希望能够更改正在解决问题的线程数量,所以我的多核函数还有一个参数:
void fraktale_cpu_multi(size_t threads,
pfc::bitmap * bmp,
pfc::RGB_3_t * color_table,
const par::complex<float> C)
我正在尝试这个:
do_function_with_pic(bind(fraktale_cpu_multi, 1), "cpu_multi.bmp");
但我得到一个错误,因为没有设置其他参数,我该怎么办?- 也可以使用 Boost 库!