| 160 | |
| 161 | template <typename Params, int kernel_size> |
| 162 | void MultiThreadTransform1D(OpKernelContext* tf_context, const Params& params) { |
| 163 | if (g_use_local_context) { |
| 164 | LocalContext local_context(GetWorkersCount(tf_context), GetWorkersPool()); |
| 165 | gemmlowp::meta::MultiThreadTransform1D<LocalContext, Params, kernel_size>( |
| 166 | &local_context, params); |
| 167 | } else { |
| 168 | auto& workers = *(tf_context->device()->tensorflow_cpu_worker_threads()); |
| 169 | TensorflowGemmContext context(workers.num_threads, workers.workers); |
| 170 | gemmlowp::meta::MultiThreadTransform1D<TensorflowGemmContext, Params, |
| 171 | kernel_size>(&context, params); |
| 172 | } |
| 173 | } |
| 174 | |
| 175 | template <typename QuantizedType> |
| 176 | double CalculateRangeScale(float min, float max) { |
nothing calls this directly
no test coverage detected