[runtime/jit] fixed bug in multi-threaded auto-tuning
This commit is contained in:
@@ -317,7 +317,7 @@ const tunable int32 TM = {16, 32, 64, 128};
|
||||
const tunable int32 TN = {16, 32, 64, 128};
|
||||
const tunable int32 TK = {)" + std::to_string(TK_) + "};";
|
||||
if(op_ == WGRAD)
|
||||
result += "const tunable int32 GZ = {1, 4, 16};";
|
||||
result += "const tunable int32 GZ = {1};";
|
||||
else
|
||||
result += "const tunable int32 GZ = {1};";
|
||||
|
||||
|
@@ -43,8 +43,8 @@ void loop_nest(std::vector<size_t> const & ranges,
|
||||
size_t current = 0;
|
||||
while(true){
|
||||
//Execute function
|
||||
// pool.add_job([values, &f](){ f(values); });
|
||||
f(values);
|
||||
pool.add_job([values, &f](){ f(values); });
|
||||
// f(values);
|
||||
//Increment counters
|
||||
while(values[i]++ == ranges[i] - 1){
|
||||
if(i == 0)
|
||||
@@ -210,9 +210,9 @@ jit::tune_res_t jit::autotune(const char *name, const char *src, benchmark_t ben
|
||||
std::unique_ptr<driver::module> module(driver::module::create(driver_context_, &*ll_module));
|
||||
std::unique_ptr<driver::kernel> kernel(driver::kernel::create(module.get(), name));
|
||||
double perf;
|
||||
perf = benchmark(kernel.get(), info);
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(mutex);
|
||||
perf = benchmark(kernel.get(), info);
|
||||
if(perf > best.perf){
|
||||
best.perf = perf;
|
||||
best.params = params;
|
||||
|
Reference in New Issue
Block a user