style: update _clang-format

This commit is contained in:
Roman Dubtsov
2020-01-09 12:22:58 -08:00
committed by Dubtsov, Roman S
parent c07c09e423
commit 8da6404ac7
3 changed files with 95 additions and 80 deletions
+2
View File
@@ -114,6 +114,8 @@ SpacesInSquareBrackets: false
Standard: Cpp11
StatementMacros:
- for_
- PRAGMA_OMP
- PRAGMA_OMP_SIMD
TabWidth: 4
UseTab: Never
...
@@ -1081,18 +1081,19 @@ void jit_avx512_common_convolution_winograd_bwd_weights_t::
array_offset_calculator<float, 2> diff_bias_prv(
scratchpad.get<float>(key_conv_bia_reduction), nthreads, jcp.oc);
PRAGMA_OMP(parallel num_threads(nthreads)) {
PRAGMA_OMP(parallel num_threads(nthreads))
{
if (jcp.with_bias) {
parallel_nd_in_omp(nthreads, jcp.oc, [&](int ithr, int ofm) {
diff_bias_prv(ithr, ofm) = 0.0f;
});
PRAGMA_OMP(for nowait)
for (int bofm = 0; bofm < jcp.oc / simd_w; bofm++) {
PRAGMA_OMP_SIMD()
for (int v = 0; v < simd_w; v++)
diff_bias(bofm, v) = 0.0f;
}
PRAGMA_OMP(for nowait)
for (int bofm = 0; bofm < jcp.oc / simd_w; bofm++) {
PRAGMA_OMP_SIMD()
for (int v = 0; v < simd_w; v++)
diff_bias(bofm, v) = 0.0f;
}
}
const int ithread = dnnl_get_thread_num();
@@ -1154,18 +1155,18 @@ for (int bofm = 0; bofm < jcp.oc / simd_w; bofm++) {
});
if (jcp.with_bias) {
PRAGMA_OMP(for)
for (int ofm1 = 0; ofm1 < jcp.oc / simd_w; ofm1++) {
for (int ithr = 0; ithr < nthreads; ithr++) {
float *base_bias_ptr = &(diff_bias(ofm1, 0));
float *base_bias_prv_ptr
= &(diff_bias_prv(ithr * jcp.oc + ofm1 * simd_w));
PRAGMA_OMP_SIMD()
for (int ofm2 = 0; ofm2 < simd_w; ofm2++) {
base_bias_ptr[ofm2] += base_bias_prv_ptr[ofm2];
}
}
}
PRAGMA_OMP(for)
for (int ofm1 = 0; ofm1 < jcp.oc / simd_w; ofm1++) {
for (int ithr = 0; ithr < nthreads; ithr++) {
float *base_bias_ptr = &(diff_bias(ofm1, 0));
float *base_bias_prv_ptr
= &(diff_bias_prv(ithr * jcp.oc + ofm1 * simd_w));
PRAGMA_OMP_SIMD()
for (int ofm2 = 0; ofm2 < simd_w; ofm2++) {
base_bias_ptr[ofm2] += base_bias_prv_ptr[ofm2];
}
}
}
}
}
+73 -61
View File
@@ -502,7 +502,8 @@ void subarray_sum(size_t num_arrs, float *output, size_t nelems,
const size_t blocks_number = nelems / block_size;
const size_t tail = nelems % block_size;
PRAGMA_OMP(parallel) {
PRAGMA_OMP(parallel)
{
const int ithr = dnnl_get_thread_num();
const int nthr = dnnl_get_num_threads();
size_t start {0}, end {0};
@@ -583,7 +584,8 @@ void array_sum(size_t num_arrs, float *output, size_t nelems,
const size_t blocks_number = nelems / block_size;
const size_t tail = nelems % block_size;
PRAGMA_OMP(parallel) {
PRAGMA_OMP(parallel)
{
const size_t ithr = dnnl_get_thread_num();
const size_t nthr = dnnl_get_num_threads();
size_t start {0}, end {0};
@@ -672,7 +674,8 @@ void jit_avx512_core_f32_wino_conv_4x3_bwd_weights_t::
0.179271708683473f, 0.403361344537815f, 1.13777777777778f};
float G_O_3x3_4x4[4] = {2.25f, 0.625f, 1.5f, 0.390625f};
PRAGMA_OMP(parallel num_threads(nthreads) firstprivate(trans_ker_p, I, T)) {
PRAGMA_OMP(parallel num_threads(nthreads) firstprivate(trans_ker_p, I, T))
{
if (jcp.with_bias) {
parallel_nd_in_omp(
nthreads, jcp.oc / simd_w, [&](int ithr, int ofm) {
@@ -687,69 +690,76 @@ void jit_avx512_core_f32_wino_conv_4x3_bwd_weights_t::
int ithr = dnnl_get_thread_num();
for (int ifm1 = 0; ifm1 < jcp.nb_ic; ++ifm1) {
int first_tblk = 0;
PRAGMA_OMP(for)
for (int tblk1 = 0; tblk1 < jcp.tile_block; ++tblk1) {
int tile_index = tblk1 * jcp.nb_tile_block_ur * jcp.tile_block_ur;
int img = tile_index / (jcp.itiles * jcp.jtiles);
trans_ker_p.ti = tile_index % jcp.itiles;
trans_ker_p.tj = (tile_index / jcp.itiles) % jcp.jtiles;
trans_ker_p.M = I;
trans_ker_p.T = T;
trans_ker_p.G = G_I_3x3_4x4;
for (int ifm2 = 0; ifm2 < jcp.ic_block; ++ifm2) {
int ifm = ifm1 * jcp.ic_block + ifm2;
trans_ker_p.src = (float *)&(src(img, ifm, 0, 0, 0));
trans_ker_p.dst = (float *)&(V(ithr, 0, 0, ifm2, 0, 0, 0));
kernel_->src_transform(&trans_ker_p);
}
for (int ofm1 = 0; ofm1 < jcp.nb_oc; ++ofm1) {
trans_ker_p.G = G_W_3x3_4x4;
for (int ofm2 = 0; ofm2 < jcp.oc_block; ++ofm2) {
int ofm = (ofm1 * jcp.oc_block + ofm2) * jcp.oc_reg_block;
trans_ker_p.src = (float *)&(diff_dst(img, ofm, 0, 0, 0));
trans_ker_p.dst = (float *)&(M(ithr, 0, 0, ofm2, 0, 0, 0, 0));
if (jcp.with_bias && ifm1 == 0) {
trans_ker_p.bias
= (float *)&(diff_bias_prv(ithr, ofm * simd_w));
kernel_->diff_dst_transform_wbias(&trans_ker_p);
} else {
kernel_->diff_dst_transform(&trans_ker_p);
}
}
for (int oj = 0; oj < alpha; ++oj) {
for (int oi = 0; oi < alpha; ++oi) {
kernel_->gemm_loop_ker_first_iter(
&(Us(ithr, oj, oi, 0, 0, 0, 0, 0)),
&(M(ithr, oj, oi, 0, 0, 0, 0, 0)),
&(V(ithr, oj, oi, 0, 0, 0, 0)));
}
}
trans_ker_p.G = G_O_3x3_4x4;
for (int ofm2 = 0; ofm2 < jcp.oc_block; ++ofm2) {
for (int ofm3 = 0; ofm3 < jcp.oc_reg_block; ++ofm3) {
int ofm = (ofm1 * jcp.oc_block + ofm2) * jcp.oc_reg_block
+ ofm3;
PRAGMA_OMP(for)
for (int tblk1 = 0; tblk1 < jcp.tile_block; ++tblk1) {
int tile_index
= tblk1 * jcp.nb_tile_block_ur * jcp.tile_block_ur;
int img = tile_index / (jcp.itiles * jcp.jtiles);
trans_ker_p.ti = tile_index % jcp.itiles;
trans_ker_p.tj = (tile_index / jcp.itiles) % jcp.jtiles;
trans_ker_p.M = I;
trans_ker_p.T = T;
trans_ker_p.G = G_I_3x3_4x4;
for (int ifm2 = 0; ifm2 < jcp.ic_block; ++ifm2) {
int ifm = ifm1 * jcp.ic_block + ifm2;
trans_ker_p.src = (float *)&(
Us(ithr, 0, 0, ofm2, ifm2, 0, ofm3, 0));
trans_ker_p.dst = (float *)&(
diff_weights_prv(ithr, ofm, ifm, 0, 0, 0, 0));
if (first_tblk == 0) {
kernel_->diff_weights_transform(&trans_ker_p);
} else {
kernel_->diff_weights_transform_accum(&trans_ker_p);
trans_ker_p.src = (float *)&(src(img, ifm, 0, 0, 0));
trans_ker_p.dst = (float *)&(V(ithr, 0, 0, ifm2, 0, 0, 0));
kernel_->src_transform(&trans_ker_p);
}
for (int ofm1 = 0; ofm1 < jcp.nb_oc; ++ofm1) {
trans_ker_p.G = G_W_3x3_4x4;
for (int ofm2 = 0; ofm2 < jcp.oc_block; ++ofm2) {
int ofm = (ofm1 * jcp.oc_block + ofm2)
* jcp.oc_reg_block;
trans_ker_p.src
= (float *)&(diff_dst(img, ofm, 0, 0, 0));
trans_ker_p.dst
= (float *)&(M(ithr, 0, 0, ofm2, 0, 0, 0, 0));
if (jcp.with_bias && ifm1 == 0) {
trans_ker_p.bias = (float *)&(
diff_bias_prv(ithr, ofm * simd_w));
kernel_->diff_dst_transform_wbias(&trans_ker_p);
} else {
kernel_->diff_dst_transform(&trans_ker_p);
}
}
for (int oj = 0; oj < alpha; ++oj) {
for (int oi = 0; oi < alpha; ++oi) {
kernel_->gemm_loop_ker_first_iter(
&(Us(ithr, oj, oi, 0, 0, 0, 0, 0)),
&(M(ithr, oj, oi, 0, 0, 0, 0, 0)),
&(V(ithr, oj, oi, 0, 0, 0, 0)));
}
}
trans_ker_p.G = G_O_3x3_4x4;
for (int ofm2 = 0; ofm2 < jcp.oc_block; ++ofm2) {
for (int ofm3 = 0; ofm3 < jcp.oc_reg_block; ++ofm3) {
int ofm = (ofm1 * jcp.oc_block + ofm2)
* jcp.oc_reg_block
+ ofm3;
for (int ifm2 = 0; ifm2 < jcp.ic_block; ++ifm2) {
int ifm = ifm1 * jcp.ic_block + ifm2;
trans_ker_p.src = (float *)&(
Us(ithr, 0, 0, ofm2, ifm2, 0, ofm3, 0));
trans_ker_p.dst = (float *)&(diff_weights_prv(
ithr, ofm, ifm, 0, 0, 0, 0));
if (first_tblk == 0) {
kernel_->diff_weights_transform(
&trans_ker_p);
} else {
kernel_->diff_weights_transform_accum(
&trans_ker_p);
}
}
}
}
}
++first_tblk;
}
}
}
++first_tblk;
}
}
}
// Reduce diff-weights
{
@@ -826,7 +836,8 @@ void jit_avx512_core_f32_wino_conv_4x3_bwd_weights_t::
float I[alpha][alpha][simd_w];
float T[alpha][alpha][simd_w];
PRAGMA_OMP(parallel firstprivate(first_tblk, trans_ker_p, I, T)) {
PRAGMA_OMP(parallel firstprivate(first_tblk, trans_ker_p, I, T))
{
if (jcp.with_bias) {
parallel_nd_in_omp(nthreads, jcp.oc, [&](int ithr, int ofm) {
diff_bias_prv(ithr, ofm) = 0.0f;
@@ -923,7 +934,8 @@ void jit_avx512_core_f32_wino_conv_4x3_bwd_weights_t::
}
trans_ker_p.G = G_O_3x3_4x4;
PRAGMA_OMP(parallel firstprivate(trans_ker_p)) {
PRAGMA_OMP(parallel firstprivate(trans_ker_p))
{
parallel_nd_in_omp(jcp.nb_ic, jcp.nb_oc, jcp.oc_block, jcp.ic_block,
jcp.oc_reg_block,
[&](int ifm1, int ofm1, int ofm2, int ifm2, int ofm3) {