forked from jiuyuan/InfiniTensor
5799 lines
286 KiB
Plaintext
5799 lines
286 KiB
Plaintext
|
#pragma once
|
||
|
|
||
|
#include <cassert>
|
||
|
|
||
|
namespace infini {
|
||
|
|
||
|
#ifdef _WIN32
|
||
|
using uint = unsigned int;
|
||
|
using uchar = unsigned char;
|
||
|
using ushort = unsigned short;
|
||
|
using int64_t = long long;
|
||
|
using uint64_t = unsigned long long;
|
||
|
#else
|
||
|
#define uint unsigned int
|
||
|
#define uchar unsigned char
|
||
|
#define ushort unsigned short
|
||
|
#define int64_t long long
|
||
|
#define uint64_t unsigned long long
|
||
|
#endif
|
||
|
|
||
|
__global__ void __launch_bounds__(58)
|
||
|
sg2bmm_bs1_n10000_m64_w1000_d1_kernel0(float *__restrict__ q,
|
||
|
float *__restrict__ k,
|
||
|
float *__restrict__ SG2BMM) {
|
||
|
float SG2BMM_local[120];
|
||
|
__shared__ float q_shared[320];
|
||
|
__shared__ float Kpad_shared[664];
|
||
|
SG2BMM_local[(0)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(3)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(6)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(9)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(12)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(15)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(18)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(21)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(24)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(27)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(30)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(33)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(36)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(39)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(42)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(45)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(48)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(51)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(54)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(57)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(60)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(63)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(66)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(69)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(72)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(75)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(78)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(81)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(84)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(87)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(90)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(93)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(96)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(99)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(102)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(105)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(108)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(111)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(114)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(117)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(1)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(4)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(7)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(10)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(13)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(16)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(19)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(22)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(25)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(28)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(31)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(34)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(37)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(40)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(43)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(46)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(49)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(52)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(55)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(58)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(61)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(64)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(67)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(70)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(73)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(76)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(79)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(82)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(85)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(88)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(91)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(94)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(97)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(100)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(103)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(106)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(109)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(112)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(115)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(118)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(2)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(5)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(8)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(11)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(14)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(17)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(20)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(23)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(26)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(29)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(32)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(35)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(38)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(41)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(44)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(47)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(50)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(53)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(56)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(59)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(62)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(65)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(68)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(71)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(74)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(77)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(80)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(83)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(86)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(89)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(92)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(95)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(98)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(101)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(104)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(107)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(110)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(113)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(116)] = 0.000000e+00f;
|
||
|
SG2BMM_local[(119)] = 0.000000e+00f;
|
||
|
for (int p_outer_outer = 0; p_outer_outer < 16; ++p_outer_outer) {
|
||
|
__syncthreads();
|
||
|
q_shared[(((int)threadIdx.x))] =
|
||
|
q[((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)))];
|
||
|
q_shared[((((int)threadIdx.x) + 58))] =
|
||
|
q[((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
(((((int)threadIdx.x) + 58) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)))];
|
||
|
q_shared[((((int)threadIdx.x) + 116))] =
|
||
|
q[(((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) +
|
||
|
1856))];
|
||
|
q_shared[((((int)threadIdx.x) + 174))] =
|
||
|
q[((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
(((((int)threadIdx.x) + 174) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)))];
|
||
|
q_shared[((((int)threadIdx.x) + 232))] =
|
||
|
q[(((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) +
|
||
|
3712))];
|
||
|
if (((int)threadIdx.x) < 30) {
|
||
|
q_shared[((((int)threadIdx.x) + 290))] =
|
||
|
q[((((((((int)blockIdx.x) / 23) * 5120) +
|
||
|
(((((int)threadIdx.x) + 290) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)))];
|
||
|
}
|
||
|
Kpad_shared[(((int)threadIdx.x))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 58))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 58) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 58) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 58) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 116))] =
|
||
|
(((971 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 10971))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
62144))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 174))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 174) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 174) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 174) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 232))] =
|
||
|
(((942 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 10942))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
60288))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 290))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 290) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 290) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 290) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 348))] =
|
||
|
(((913 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 10913))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
58432))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 406))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 406) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 406) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 406) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 464))] =
|
||
|
(((884 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 10884))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
56576))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 522))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 522) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 522) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 522) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 580))] =
|
||
|
(((855 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
(((int)threadIdx.x) >> 2)) < 10855))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
((((int)threadIdx.x) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
(((int)threadIdx.x) & 3)) -
|
||
|
54720))]
|
||
|
: 0.000000e+00f);
|
||
|
if (((int)threadIdx.x) < 26) {
|
||
|
Kpad_shared[((((int)threadIdx.x) + 638))] =
|
||
|
(((1000 <= ((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 638) >> 2))) &&
|
||
|
(((((((int)blockIdx.x) % 23) * 87) +
|
||
|
(((((int)blockIdx.x) % 2875) / 23) * 80)) +
|
||
|
((((int)threadIdx.x) + 638) >> 2)) < 11000))
|
||
|
? k[((((((((((int)blockIdx.x) % 23) * 5568) +
|
||
|
((((int)blockIdx.x) / 23) * 5120)) +
|
||
|
(((((int)threadIdx.x) + 638) >> 2) * 64)) +
|
||
|
(p_outer_outer * 4)) +
|
||
|
((((int)threadIdx.x) + 2) & 3)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
}
|
||
|
__syncthreads();
|
||
|
SG2BMM_local[(0)] =
|
||
|
(SG2BMM_local[(0)] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 29) * 160))] *
|
||
|
Kpad_shared[((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)))]));
|
||
|
SG2BMM_local[(3)] =
|
||
|
(SG2BMM_local[(3)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 4))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
4))]));
|
||
|
SG2BMM_local[(6)] =
|
||
|
(SG2BMM_local[(6)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 8))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
8))]));
|
||
|
SG2BMM_local[(9)] =
|
||
|
(SG2BMM_local[(9)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 12))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
12))]));
|
||
|
SG2BMM_local[(12)] =
|
||
|
(SG2BMM_local[(12)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 16))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
16))]));
|
||
|
SG2BMM_local[(15)] =
|
||
|
(SG2BMM_local[(15)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 20))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
20))]));
|
||
|
SG2BMM_local[(18)] =
|
||
|
(SG2BMM_local[(18)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 24))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
24))]));
|
||
|
SG2BMM_local[(21)] =
|
||
|
(SG2BMM_local[(21)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 28))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
28))]));
|
||
|
SG2BMM_local[(24)] =
|
||
|
(SG2BMM_local[(24)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 32))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
32))]));
|
||
|
SG2BMM_local[(27)] =
|
||
|
(SG2BMM_local[(27)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 36))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
36))]));
|
||
|
SG2BMM_local[(30)] =
|
||
|
(SG2BMM_local[(30)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 40))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
40))]));
|
||
|
SG2BMM_local[(33)] =
|
||
|
(SG2BMM_local[(33)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 44))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
44))]));
|
||
|
SG2BMM_local[(36)] =
|
||
|
(SG2BMM_local[(36)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 48))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
48))]));
|
||
|
SG2BMM_local[(39)] =
|
||
|
(SG2BMM_local[(39)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 52))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
52))]));
|
||
|
SG2BMM_local[(42)] =
|
||
|
(SG2BMM_local[(42)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 56))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
56))]));
|
||
|
SG2BMM_local[(45)] =
|
||
|
(SG2BMM_local[(45)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 60))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
60))]));
|
||
|
SG2BMM_local[(48)] =
|
||
|
(SG2BMM_local[(48)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 64))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
64))]));
|
||
|
SG2BMM_local[(51)] =
|
||
|
(SG2BMM_local[(51)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 68))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
68))]));
|
||
|
SG2BMM_local[(54)] =
|
||
|
(SG2BMM_local[(54)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 72))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
72))]));
|
||
|
SG2BMM_local[(57)] =
|
||
|
(SG2BMM_local[(57)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 76))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
76))]));
|
||
|
SG2BMM_local[(60)] =
|
||
|
(SG2BMM_local[(60)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 80))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
80))]));
|
||
|
SG2BMM_local[(63)] =
|
||
|
(SG2BMM_local[(63)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 84))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
84))]));
|
||
|
SG2BMM_local[(66)] =
|
||
|
(SG2BMM_local[(66)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 88))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
88))]));
|
||
|
SG2BMM_local[(69)] =
|
||
|
(SG2BMM_local[(69)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 92))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
92))]));
|
||
|
SG2BMM_local[(72)] =
|
||
|
(SG2BMM_local[(72)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 96))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
96))]));
|
||
|
SG2BMM_local[(75)] =
|
||
|
(SG2BMM_local[(75)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 100))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
100))]));
|
||
|
SG2BMM_local[(78)] =
|
||
|
(SG2BMM_local[(78)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 104))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
104))]));
|
||
|
SG2BMM_local[(81)] =
|
||
|
(SG2BMM_local[(81)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 108))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
108))]));
|
||
|
SG2BMM_local[(84)] =
|
||
|
(SG2BMM_local[(84)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 112))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
112))]));
|
||
|
SG2BMM_local[(87)] =
|
||
|
(SG2BMM_local[(87)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 116))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
116))]));
|
||
|
SG2BMM_local[(90)] =
|
||
|
(SG2BMM_local[(90)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 120))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
120))]));
|
||
|
SG2BMM_local[(93)] =
|
||
|
(SG2BMM_local[(93)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 124))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
124))]));
|
||
|
SG2BMM_local[(96)] =
|
||
|
(SG2BMM_local[(96)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 128))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
128))]));
|
||
|
SG2BMM_local[(99)] =
|
||
|
(SG2BMM_local[(99)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 132))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
132))]));
|
||
|
SG2BMM_local[(102)] =
|
||
|
(SG2BMM_local[(102)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 136))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
136))]));
|
||
|
SG2BMM_local[(105)] =
|
||
|
(SG2BMM_local[(105)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 140))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
140))]));
|
||
|
SG2BMM_local[(108)] =
|
||
|
(SG2BMM_local[(108)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 144))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
144))]));
|
||
|
SG2BMM_local[(111)] =
|
||
|
(SG2BMM_local[(111)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 148))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
148))]));
|
||
|
SG2BMM_local[(114)] =
|
||
|
(SG2BMM_local[(114)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 152))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
152))]));
|
||
|
SG2BMM_local[(117)] =
|
||
|
(SG2BMM_local[(117)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 156))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
156))]));
|
||
|
SG2BMM_local[(0)] =
|
||
|
(SG2BMM_local[(0)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 1))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
1))]));
|
||
|
SG2BMM_local[(3)] =
|
||
|
(SG2BMM_local[(3)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 5))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
5))]));
|
||
|
SG2BMM_local[(6)] =
|
||
|
(SG2BMM_local[(6)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 9))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
9))]));
|
||
|
SG2BMM_local[(9)] =
|
||
|
(SG2BMM_local[(9)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 13))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
13))]));
|
||
|
SG2BMM_local[(12)] =
|
||
|
(SG2BMM_local[(12)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 17))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
17))]));
|
||
|
SG2BMM_local[(15)] =
|
||
|
(SG2BMM_local[(15)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 21))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
21))]));
|
||
|
SG2BMM_local[(18)] =
|
||
|
(SG2BMM_local[(18)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 25))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
25))]));
|
||
|
SG2BMM_local[(21)] =
|
||
|
(SG2BMM_local[(21)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 29))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
29))]));
|
||
|
SG2BMM_local[(24)] =
|
||
|
(SG2BMM_local[(24)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 33))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
33))]));
|
||
|
SG2BMM_local[(27)] =
|
||
|
(SG2BMM_local[(27)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 37))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
37))]));
|
||
|
SG2BMM_local[(30)] =
|
||
|
(SG2BMM_local[(30)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 41))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
41))]));
|
||
|
SG2BMM_local[(33)] =
|
||
|
(SG2BMM_local[(33)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 45))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
45))]));
|
||
|
SG2BMM_local[(36)] =
|
||
|
(SG2BMM_local[(36)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 49))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
49))]));
|
||
|
SG2BMM_local[(39)] =
|
||
|
(SG2BMM_local[(39)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 53))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
53))]));
|
||
|
SG2BMM_local[(42)] =
|
||
|
(SG2BMM_local[(42)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 57))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
57))]));
|
||
|
SG2BMM_local[(45)] =
|
||
|
(SG2BMM_local[(45)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 61))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
61))]));
|
||
|
SG2BMM_local[(48)] =
|
||
|
(SG2BMM_local[(48)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 65))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
65))]));
|
||
|
SG2BMM_local[(51)] =
|
||
|
(SG2BMM_local[(51)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 69))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
69))]));
|
||
|
SG2BMM_local[(54)] =
|
||
|
(SG2BMM_local[(54)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 73))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
73))]));
|
||
|
SG2BMM_local[(57)] =
|
||
|
(SG2BMM_local[(57)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 77))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
77))]));
|
||
|
SG2BMM_local[(60)] =
|
||
|
(SG2BMM_local[(60)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 81))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
81))]));
|
||
|
SG2BMM_local[(63)] =
|
||
|
(SG2BMM_local[(63)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 85))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
85))]));
|
||
|
SG2BMM_local[(66)] =
|
||
|
(SG2BMM_local[(66)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 89))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
89))]));
|
||
|
SG2BMM_local[(69)] =
|
||
|
(SG2BMM_local[(69)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 93))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
93))]));
|
||
|
SG2BMM_local[(72)] =
|
||
|
(SG2BMM_local[(72)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 97))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
97))]));
|
||
|
SG2BMM_local[(75)] =
|
||
|
(SG2BMM_local[(75)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 101))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
101))]));
|
||
|
SG2BMM_local[(78)] =
|
||
|
(SG2BMM_local[(78)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 105))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
105))]));
|
||
|
SG2BMM_local[(81)] =
|
||
|
(SG2BMM_local[(81)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 109))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
109))]));
|
||
|
SG2BMM_local[(84)] =
|
||
|
(SG2BMM_local[(84)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 113))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
113))]));
|
||
|
SG2BMM_local[(87)] =
|
||
|
(SG2BMM_local[(87)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 117))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
117))]));
|
||
|
SG2BMM_local[(90)] =
|
||
|
(SG2BMM_local[(90)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 121))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
121))]));
|
||
|
SG2BMM_local[(93)] =
|
||
|
(SG2BMM_local[(93)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 125))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
125))]));
|
||
|
SG2BMM_local[(96)] =
|
||
|
(SG2BMM_local[(96)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 129))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
129))]));
|
||
|
SG2BMM_local[(99)] =
|
||
|
(SG2BMM_local[(99)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 133))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
133))]));
|
||
|
SG2BMM_local[(102)] =
|
||
|
(SG2BMM_local[(102)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 137))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
137))]));
|
||
|
SG2BMM_local[(105)] =
|
||
|
(SG2BMM_local[(105)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 141))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
141))]));
|
||
|
SG2BMM_local[(108)] =
|
||
|
(SG2BMM_local[(108)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 145))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
145))]));
|
||
|
SG2BMM_local[(111)] =
|
||
|
(SG2BMM_local[(111)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 149))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
149))]));
|
||
|
SG2BMM_local[(114)] =
|
||
|
(SG2BMM_local[(114)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 153))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
153))]));
|
||
|
SG2BMM_local[(117)] =
|
||
|
(SG2BMM_local[(117)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 157))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
157))]));
|
||
|
SG2BMM_local[(0)] =
|
||
|
(SG2BMM_local[(0)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 2))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
2))]));
|
||
|
SG2BMM_local[(3)] =
|
||
|
(SG2BMM_local[(3)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 6))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
6))]));
|
||
|
SG2BMM_local[(6)] =
|
||
|
(SG2BMM_local[(6)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 10))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
10))]));
|
||
|
SG2BMM_local[(9)] =
|
||
|
(SG2BMM_local[(9)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 14))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
14))]));
|
||
|
SG2BMM_local[(12)] =
|
||
|
(SG2BMM_local[(12)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 18))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
18))]));
|
||
|
SG2BMM_local[(15)] =
|
||
|
(SG2BMM_local[(15)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 22))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
22))]));
|
||
|
SG2BMM_local[(18)] =
|
||
|
(SG2BMM_local[(18)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 26))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
26))]));
|
||
|
SG2BMM_local[(21)] =
|
||
|
(SG2BMM_local[(21)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 30))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
30))]));
|
||
|
SG2BMM_local[(24)] =
|
||
|
(SG2BMM_local[(24)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 34))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
34))]));
|
||
|
SG2BMM_local[(27)] =
|
||
|
(SG2BMM_local[(27)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 38))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
38))]));
|
||
|
SG2BMM_local[(30)] =
|
||
|
(SG2BMM_local[(30)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 42))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
42))]));
|
||
|
SG2BMM_local[(33)] =
|
||
|
(SG2BMM_local[(33)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 46))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
46))]));
|
||
|
SG2BMM_local[(36)] =
|
||
|
(SG2BMM_local[(36)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 50))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
50))]));
|
||
|
SG2BMM_local[(39)] =
|
||
|
(SG2BMM_local[(39)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 54))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
54))]));
|
||
|
SG2BMM_local[(42)] =
|
||
|
(SG2BMM_local[(42)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 58))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
58))]));
|
||
|
SG2BMM_local[(45)] =
|
||
|
(SG2BMM_local[(45)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 62))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
62))]));
|
||
|
SG2BMM_local[(48)] =
|
||
|
(SG2BMM_local[(48)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 66))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
66))]));
|
||
|
SG2BMM_local[(51)] =
|
||
|
(SG2BMM_local[(51)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 70))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
70))]));
|
||
|
SG2BMM_local[(54)] =
|
||
|
(SG2BMM_local[(54)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 74))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
74))]));
|
||
|
SG2BMM_local[(57)] =
|
||
|
(SG2BMM_local[(57)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 78))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
78))]));
|
||
|
SG2BMM_local[(60)] =
|
||
|
(SG2BMM_local[(60)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 82))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
82))]));
|
||
|
SG2BMM_local[(63)] =
|
||
|
(SG2BMM_local[(63)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 86))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
86))]));
|
||
|
SG2BMM_local[(66)] =
|
||
|
(SG2BMM_local[(66)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 90))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
90))]));
|
||
|
SG2BMM_local[(69)] =
|
||
|
(SG2BMM_local[(69)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 94))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
94))]));
|
||
|
SG2BMM_local[(72)] =
|
||
|
(SG2BMM_local[(72)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 98))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
98))]));
|
||
|
SG2BMM_local[(75)] =
|
||
|
(SG2BMM_local[(75)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 102))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
102))]));
|
||
|
SG2BMM_local[(78)] =
|
||
|
(SG2BMM_local[(78)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 106))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
106))]));
|
||
|
SG2BMM_local[(81)] =
|
||
|
(SG2BMM_local[(81)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 110))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
110))]));
|
||
|
SG2BMM_local[(84)] =
|
||
|
(SG2BMM_local[(84)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 114))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
114))]));
|
||
|
SG2BMM_local[(87)] =
|
||
|
(SG2BMM_local[(87)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 118))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
118))]));
|
||
|
SG2BMM_local[(90)] =
|
||
|
(SG2BMM_local[(90)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 122))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
122))]));
|
||
|
SG2BMM_local[(93)] =
|
||
|
(SG2BMM_local[(93)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 126))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
126))]));
|
||
|
SG2BMM_local[(96)] =
|
||
|
(SG2BMM_local[(96)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 130))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
130))]));
|
||
|
SG2BMM_local[(99)] =
|
||
|
(SG2BMM_local[(99)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 134))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
134))]));
|
||
|
SG2BMM_local[(102)] =
|
||
|
(SG2BMM_local[(102)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 138))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
138))]));
|
||
|
SG2BMM_local[(105)] =
|
||
|
(SG2BMM_local[(105)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 142))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
142))]));
|
||
|
SG2BMM_local[(108)] =
|
||
|
(SG2BMM_local[(108)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 146))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
146))]));
|
||
|
SG2BMM_local[(111)] =
|
||
|
(SG2BMM_local[(111)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 150))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
150))]));
|
||
|
SG2BMM_local[(114)] =
|
||
|
(SG2BMM_local[(114)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 154))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
154))]));
|
||
|
SG2BMM_local[(117)] =
|
||
|
(SG2BMM_local[(117)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 158))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
158))]));
|
||
|
SG2BMM_local[(0)] =
|
||
|
(SG2BMM_local[(0)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 3))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
3))]));
|
||
|
SG2BMM_local[(3)] =
|
||
|
(SG2BMM_local[(3)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 7))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
7))]));
|
||
|
SG2BMM_local[(6)] =
|
||
|
(SG2BMM_local[(6)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 11))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
11))]));
|
||
|
SG2BMM_local[(9)] =
|
||
|
(SG2BMM_local[(9)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 15))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
15))]));
|
||
|
SG2BMM_local[(12)] =
|
||
|
(SG2BMM_local[(12)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 19))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
19))]));
|
||
|
SG2BMM_local[(15)] =
|
||
|
(SG2BMM_local[(15)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 23))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
23))]));
|
||
|
SG2BMM_local[(18)] =
|
||
|
(SG2BMM_local[(18)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 27))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
27))]));
|
||
|
SG2BMM_local[(21)] =
|
||
|
(SG2BMM_local[(21)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 31))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
31))]));
|
||
|
SG2BMM_local[(24)] =
|
||
|
(SG2BMM_local[(24)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 35))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
35))]));
|
||
|
SG2BMM_local[(27)] =
|
||
|
(SG2BMM_local[(27)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 39))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
39))]));
|
||
|
SG2BMM_local[(30)] =
|
||
|
(SG2BMM_local[(30)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 43))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
43))]));
|
||
|
SG2BMM_local[(33)] =
|
||
|
(SG2BMM_local[(33)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 47))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
47))]));
|
||
|
SG2BMM_local[(36)] =
|
||
|
(SG2BMM_local[(36)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 51))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
51))]));
|
||
|
SG2BMM_local[(39)] =
|
||
|
(SG2BMM_local[(39)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 55))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
55))]));
|
||
|
SG2BMM_local[(42)] =
|
||
|
(SG2BMM_local[(42)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 59))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
59))]));
|
||
|
SG2BMM_local[(45)] =
|
||
|
(SG2BMM_local[(45)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 63))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
63))]));
|
||
|
SG2BMM_local[(48)] =
|
||
|
(SG2BMM_local[(48)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 67))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
67))]));
|
||
|
SG2BMM_local[(51)] =
|
||
|
(SG2BMM_local[(51)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 71))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
71))]));
|
||
|
SG2BMM_local[(54)] =
|
||
|
(SG2BMM_local[(54)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 75))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
75))]));
|
||
|
SG2BMM_local[(57)] =
|
||
|
(SG2BMM_local[(57)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 79))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
79))]));
|
||
|
SG2BMM_local[(60)] =
|
||
|
(SG2BMM_local[(60)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 83))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
83))]));
|
||
|
SG2BMM_local[(63)] =
|
||
|
(SG2BMM_local[(63)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 87))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
87))]));
|
||
|
SG2BMM_local[(66)] =
|
||
|
(SG2BMM_local[(66)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 91))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
91))]));
|
||
|
SG2BMM_local[(69)] =
|
||
|
(SG2BMM_local[(69)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 95))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
95))]));
|
||
|
SG2BMM_local[(72)] =
|
||
|
(SG2BMM_local[(72)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 99))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
99))]));
|
||
|
SG2BMM_local[(75)] =
|
||
|
(SG2BMM_local[(75)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 103))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
103))]));
|
||
|
SG2BMM_local[(78)] =
|
||
|
(SG2BMM_local[(78)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 107))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
107))]));
|
||
|
SG2BMM_local[(81)] =
|
||
|
(SG2BMM_local[(81)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 111))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
111))]));
|
||
|
SG2BMM_local[(84)] =
|
||
|
(SG2BMM_local[(84)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 115))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
115))]));
|
||
|
SG2BMM_local[(87)] =
|
||
|
(SG2BMM_local[(87)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 119))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
119))]));
|
||
|
SG2BMM_local[(90)] =
|
||
|
(SG2BMM_local[(90)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 123))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
123))]));
|
||
|
SG2BMM_local[(93)] =
|
||
|
(SG2BMM_local[(93)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 127))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
127))]));
|
||
|
SG2BMM_local[(96)] =
|
||
|
(SG2BMM_local[(96)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 131))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
131))]));
|
||
|
SG2BMM_local[(99)] =
|
||
|
(SG2BMM_local[(99)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 135))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
135))]));
|
||
|
SG2BMM_local[(102)] =
|
||
|
(SG2BMM_local[(102)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 139))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
139))]));
|
||
|
SG2BMM_local[(105)] =
|
||
|
(SG2BMM_local[(105)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 143))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
143))]));
|
||
|
SG2BMM_local[(108)] =
|
||
|
(SG2BMM_local[(108)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 147))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
147))]));
|
||
|
SG2BMM_local[(111)] =
|
||
|
(SG2BMM_local[(111)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 151))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
151))]));
|
||
|
SG2BMM_local[(114)] =
|
||
|
(SG2BMM_local[(114)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 155))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
155))]));
|
||
|
SG2BMM_local[(117)] =
|
||
|
(SG2BMM_local[(117)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 159))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
159))]));
|
||
|
SG2BMM_local[(1)] = (SG2BMM_local[(1)] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 29) * 160))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
4))]));
|
||
|
SG2BMM_local[(4)] =
|
||
|
(SG2BMM_local[(4)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 4))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
8))]));
|
||
|
SG2BMM_local[(7)] =
|
||
|
(SG2BMM_local[(7)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 8))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
12))]));
|
||
|
SG2BMM_local[(10)] =
|
||
|
(SG2BMM_local[(10)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 12))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
16))]));
|
||
|
SG2BMM_local[(13)] =
|
||
|
(SG2BMM_local[(13)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 16))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
20))]));
|
||
|
SG2BMM_local[(16)] =
|
||
|
(SG2BMM_local[(16)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 20))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
24))]));
|
||
|
SG2BMM_local[(19)] =
|
||
|
(SG2BMM_local[(19)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 24))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
28))]));
|
||
|
SG2BMM_local[(22)] =
|
||
|
(SG2BMM_local[(22)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 28))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
32))]));
|
||
|
SG2BMM_local[(25)] =
|
||
|
(SG2BMM_local[(25)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 32))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
36))]));
|
||
|
SG2BMM_local[(28)] =
|
||
|
(SG2BMM_local[(28)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 36))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
40))]));
|
||
|
SG2BMM_local[(31)] =
|
||
|
(SG2BMM_local[(31)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 40))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
44))]));
|
||
|
SG2BMM_local[(34)] =
|
||
|
(SG2BMM_local[(34)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 44))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
48))]));
|
||
|
SG2BMM_local[(37)] =
|
||
|
(SG2BMM_local[(37)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 48))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
52))]));
|
||
|
SG2BMM_local[(40)] =
|
||
|
(SG2BMM_local[(40)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 52))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
56))]));
|
||
|
SG2BMM_local[(43)] =
|
||
|
(SG2BMM_local[(43)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 56))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
60))]));
|
||
|
SG2BMM_local[(46)] =
|
||
|
(SG2BMM_local[(46)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 60))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
64))]));
|
||
|
SG2BMM_local[(49)] =
|
||
|
(SG2BMM_local[(49)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 64))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
68))]));
|
||
|
SG2BMM_local[(52)] =
|
||
|
(SG2BMM_local[(52)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 68))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
72))]));
|
||
|
SG2BMM_local[(55)] =
|
||
|
(SG2BMM_local[(55)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 72))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
76))]));
|
||
|
SG2BMM_local[(58)] =
|
||
|
(SG2BMM_local[(58)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 76))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
80))]));
|
||
|
SG2BMM_local[(61)] =
|
||
|
(SG2BMM_local[(61)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 80))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
84))]));
|
||
|
SG2BMM_local[(64)] =
|
||
|
(SG2BMM_local[(64)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 84))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
88))]));
|
||
|
SG2BMM_local[(67)] =
|
||
|
(SG2BMM_local[(67)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 88))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
92))]));
|
||
|
SG2BMM_local[(70)] =
|
||
|
(SG2BMM_local[(70)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 92))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
96))]));
|
||
|
SG2BMM_local[(73)] =
|
||
|
(SG2BMM_local[(73)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 96))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
100))]));
|
||
|
SG2BMM_local[(76)] =
|
||
|
(SG2BMM_local[(76)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 100))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
104))]));
|
||
|
SG2BMM_local[(79)] =
|
||
|
(SG2BMM_local[(79)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 104))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
108))]));
|
||
|
SG2BMM_local[(82)] =
|
||
|
(SG2BMM_local[(82)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 108))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
112))]));
|
||
|
SG2BMM_local[(85)] =
|
||
|
(SG2BMM_local[(85)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 112))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
116))]));
|
||
|
SG2BMM_local[(88)] =
|
||
|
(SG2BMM_local[(88)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 116))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
120))]));
|
||
|
SG2BMM_local[(91)] =
|
||
|
(SG2BMM_local[(91)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 120))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
124))]));
|
||
|
SG2BMM_local[(94)] =
|
||
|
(SG2BMM_local[(94)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 124))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
128))]));
|
||
|
SG2BMM_local[(97)] =
|
||
|
(SG2BMM_local[(97)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 128))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
132))]));
|
||
|
SG2BMM_local[(100)] =
|
||
|
(SG2BMM_local[(100)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 132))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
136))]));
|
||
|
SG2BMM_local[(103)] =
|
||
|
(SG2BMM_local[(103)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 136))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
140))]));
|
||
|
SG2BMM_local[(106)] =
|
||
|
(SG2BMM_local[(106)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 140))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
144))]));
|
||
|
SG2BMM_local[(109)] =
|
||
|
(SG2BMM_local[(109)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 144))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
148))]));
|
||
|
SG2BMM_local[(112)] =
|
||
|
(SG2BMM_local[(112)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 148))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
152))]));
|
||
|
SG2BMM_local[(115)] =
|
||
|
(SG2BMM_local[(115)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 152))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
156))]));
|
||
|
SG2BMM_local[(118)] =
|
||
|
(SG2BMM_local[(118)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 156))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
160))]));
|
||
|
SG2BMM_local[(1)] =
|
||
|
(SG2BMM_local[(1)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 1))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
5))]));
|
||
|
SG2BMM_local[(4)] =
|
||
|
(SG2BMM_local[(4)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 5))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
9))]));
|
||
|
SG2BMM_local[(7)] =
|
||
|
(SG2BMM_local[(7)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 9))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
13))]));
|
||
|
SG2BMM_local[(10)] =
|
||
|
(SG2BMM_local[(10)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 13))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
17))]));
|
||
|
SG2BMM_local[(13)] =
|
||
|
(SG2BMM_local[(13)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 17))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
21))]));
|
||
|
SG2BMM_local[(16)] =
|
||
|
(SG2BMM_local[(16)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 21))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
25))]));
|
||
|
SG2BMM_local[(19)] =
|
||
|
(SG2BMM_local[(19)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 25))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
29))]));
|
||
|
SG2BMM_local[(22)] =
|
||
|
(SG2BMM_local[(22)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 29))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
33))]));
|
||
|
SG2BMM_local[(25)] =
|
||
|
(SG2BMM_local[(25)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 33))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
37))]));
|
||
|
SG2BMM_local[(28)] =
|
||
|
(SG2BMM_local[(28)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 37))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
41))]));
|
||
|
SG2BMM_local[(31)] =
|
||
|
(SG2BMM_local[(31)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 41))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
45))]));
|
||
|
SG2BMM_local[(34)] =
|
||
|
(SG2BMM_local[(34)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 45))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
49))]));
|
||
|
SG2BMM_local[(37)] =
|
||
|
(SG2BMM_local[(37)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 49))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
53))]));
|
||
|
SG2BMM_local[(40)] =
|
||
|
(SG2BMM_local[(40)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 53))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
57))]));
|
||
|
SG2BMM_local[(43)] =
|
||
|
(SG2BMM_local[(43)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 57))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
61))]));
|
||
|
SG2BMM_local[(46)] =
|
||
|
(SG2BMM_local[(46)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 61))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
65))]));
|
||
|
SG2BMM_local[(49)] =
|
||
|
(SG2BMM_local[(49)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 65))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
69))]));
|
||
|
SG2BMM_local[(52)] =
|
||
|
(SG2BMM_local[(52)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 69))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
73))]));
|
||
|
SG2BMM_local[(55)] =
|
||
|
(SG2BMM_local[(55)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 73))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
77))]));
|
||
|
SG2BMM_local[(58)] =
|
||
|
(SG2BMM_local[(58)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 77))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
81))]));
|
||
|
SG2BMM_local[(61)] =
|
||
|
(SG2BMM_local[(61)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 81))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
85))]));
|
||
|
SG2BMM_local[(64)] =
|
||
|
(SG2BMM_local[(64)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 85))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
89))]));
|
||
|
SG2BMM_local[(67)] =
|
||
|
(SG2BMM_local[(67)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 89))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
93))]));
|
||
|
SG2BMM_local[(70)] =
|
||
|
(SG2BMM_local[(70)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 93))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
97))]));
|
||
|
SG2BMM_local[(73)] =
|
||
|
(SG2BMM_local[(73)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 97))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
101))]));
|
||
|
SG2BMM_local[(76)] =
|
||
|
(SG2BMM_local[(76)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 101))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
105))]));
|
||
|
SG2BMM_local[(79)] =
|
||
|
(SG2BMM_local[(79)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 105))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
109))]));
|
||
|
SG2BMM_local[(82)] =
|
||
|
(SG2BMM_local[(82)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 109))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
113))]));
|
||
|
SG2BMM_local[(85)] =
|
||
|
(SG2BMM_local[(85)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 113))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
117))]));
|
||
|
SG2BMM_local[(88)] =
|
||
|
(SG2BMM_local[(88)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 117))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
121))]));
|
||
|
SG2BMM_local[(91)] =
|
||
|
(SG2BMM_local[(91)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 121))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
125))]));
|
||
|
SG2BMM_local[(94)] =
|
||
|
(SG2BMM_local[(94)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 125))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
129))]));
|
||
|
SG2BMM_local[(97)] =
|
||
|
(SG2BMM_local[(97)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 129))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
133))]));
|
||
|
SG2BMM_local[(100)] =
|
||
|
(SG2BMM_local[(100)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 133))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
137))]));
|
||
|
SG2BMM_local[(103)] =
|
||
|
(SG2BMM_local[(103)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 137))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
141))]));
|
||
|
SG2BMM_local[(106)] =
|
||
|
(SG2BMM_local[(106)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 141))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
145))]));
|
||
|
SG2BMM_local[(109)] =
|
||
|
(SG2BMM_local[(109)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 145))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
149))]));
|
||
|
SG2BMM_local[(112)] =
|
||
|
(SG2BMM_local[(112)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 149))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
153))]));
|
||
|
SG2BMM_local[(115)] =
|
||
|
(SG2BMM_local[(115)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 153))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
157))]));
|
||
|
SG2BMM_local[(118)] =
|
||
|
(SG2BMM_local[(118)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 157))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
161))]));
|
||
|
SG2BMM_local[(1)] =
|
||
|
(SG2BMM_local[(1)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 2))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
6))]));
|
||
|
SG2BMM_local[(4)] =
|
||
|
(SG2BMM_local[(4)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 6))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
10))]));
|
||
|
SG2BMM_local[(7)] =
|
||
|
(SG2BMM_local[(7)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 10))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
14))]));
|
||
|
SG2BMM_local[(10)] =
|
||
|
(SG2BMM_local[(10)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 14))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
18))]));
|
||
|
SG2BMM_local[(13)] =
|
||
|
(SG2BMM_local[(13)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 18))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
22))]));
|
||
|
SG2BMM_local[(16)] =
|
||
|
(SG2BMM_local[(16)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 22))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
26))]));
|
||
|
SG2BMM_local[(19)] =
|
||
|
(SG2BMM_local[(19)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 26))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
30))]));
|
||
|
SG2BMM_local[(22)] =
|
||
|
(SG2BMM_local[(22)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 30))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
34))]));
|
||
|
SG2BMM_local[(25)] =
|
||
|
(SG2BMM_local[(25)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 34))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
38))]));
|
||
|
SG2BMM_local[(28)] =
|
||
|
(SG2BMM_local[(28)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 38))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
42))]));
|
||
|
SG2BMM_local[(31)] =
|
||
|
(SG2BMM_local[(31)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 42))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
46))]));
|
||
|
SG2BMM_local[(34)] =
|
||
|
(SG2BMM_local[(34)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 46))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
50))]));
|
||
|
SG2BMM_local[(37)] =
|
||
|
(SG2BMM_local[(37)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 50))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
54))]));
|
||
|
SG2BMM_local[(40)] =
|
||
|
(SG2BMM_local[(40)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 54))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
58))]));
|
||
|
SG2BMM_local[(43)] =
|
||
|
(SG2BMM_local[(43)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 58))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
62))]));
|
||
|
SG2BMM_local[(46)] =
|
||
|
(SG2BMM_local[(46)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 62))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
66))]));
|
||
|
SG2BMM_local[(49)] =
|
||
|
(SG2BMM_local[(49)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 66))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
70))]));
|
||
|
SG2BMM_local[(52)] =
|
||
|
(SG2BMM_local[(52)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 70))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
74))]));
|
||
|
SG2BMM_local[(55)] =
|
||
|
(SG2BMM_local[(55)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 74))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
78))]));
|
||
|
SG2BMM_local[(58)] =
|
||
|
(SG2BMM_local[(58)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 78))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
82))]));
|
||
|
SG2BMM_local[(61)] =
|
||
|
(SG2BMM_local[(61)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 82))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
86))]));
|
||
|
SG2BMM_local[(64)] =
|
||
|
(SG2BMM_local[(64)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 86))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
90))]));
|
||
|
SG2BMM_local[(67)] =
|
||
|
(SG2BMM_local[(67)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 90))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
94))]));
|
||
|
SG2BMM_local[(70)] =
|
||
|
(SG2BMM_local[(70)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 94))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
98))]));
|
||
|
SG2BMM_local[(73)] =
|
||
|
(SG2BMM_local[(73)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 98))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
102))]));
|
||
|
SG2BMM_local[(76)] =
|
||
|
(SG2BMM_local[(76)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 102))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
106))]));
|
||
|
SG2BMM_local[(79)] =
|
||
|
(SG2BMM_local[(79)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 106))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
110))]));
|
||
|
SG2BMM_local[(82)] =
|
||
|
(SG2BMM_local[(82)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 110))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
114))]));
|
||
|
SG2BMM_local[(85)] =
|
||
|
(SG2BMM_local[(85)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 114))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
118))]));
|
||
|
SG2BMM_local[(88)] =
|
||
|
(SG2BMM_local[(88)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 118))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
122))]));
|
||
|
SG2BMM_local[(91)] =
|
||
|
(SG2BMM_local[(91)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 122))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
126))]));
|
||
|
SG2BMM_local[(94)] =
|
||
|
(SG2BMM_local[(94)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 126))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
130))]));
|
||
|
SG2BMM_local[(97)] =
|
||
|
(SG2BMM_local[(97)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 130))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
134))]));
|
||
|
SG2BMM_local[(100)] =
|
||
|
(SG2BMM_local[(100)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 134))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
138))]));
|
||
|
SG2BMM_local[(103)] =
|
||
|
(SG2BMM_local[(103)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 138))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
142))]));
|
||
|
SG2BMM_local[(106)] =
|
||
|
(SG2BMM_local[(106)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 142))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
146))]));
|
||
|
SG2BMM_local[(109)] =
|
||
|
(SG2BMM_local[(109)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 146))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
150))]));
|
||
|
SG2BMM_local[(112)] =
|
||
|
(SG2BMM_local[(112)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 150))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
154))]));
|
||
|
SG2BMM_local[(115)] =
|
||
|
(SG2BMM_local[(115)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 154))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
158))]));
|
||
|
SG2BMM_local[(118)] =
|
||
|
(SG2BMM_local[(118)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 158))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
162))]));
|
||
|
SG2BMM_local[(1)] =
|
||
|
(SG2BMM_local[(1)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 3))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
7))]));
|
||
|
SG2BMM_local[(4)] =
|
||
|
(SG2BMM_local[(4)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 7))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
11))]));
|
||
|
SG2BMM_local[(7)] =
|
||
|
(SG2BMM_local[(7)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 11))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
15))]));
|
||
|
SG2BMM_local[(10)] =
|
||
|
(SG2BMM_local[(10)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 15))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
19))]));
|
||
|
SG2BMM_local[(13)] =
|
||
|
(SG2BMM_local[(13)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 19))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
23))]));
|
||
|
SG2BMM_local[(16)] =
|
||
|
(SG2BMM_local[(16)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 23))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
27))]));
|
||
|
SG2BMM_local[(19)] =
|
||
|
(SG2BMM_local[(19)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 27))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
31))]));
|
||
|
SG2BMM_local[(22)] =
|
||
|
(SG2BMM_local[(22)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 31))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
35))]));
|
||
|
SG2BMM_local[(25)] =
|
||
|
(SG2BMM_local[(25)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 35))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
39))]));
|
||
|
SG2BMM_local[(28)] =
|
||
|
(SG2BMM_local[(28)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 39))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
43))]));
|
||
|
SG2BMM_local[(31)] =
|
||
|
(SG2BMM_local[(31)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 43))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
47))]));
|
||
|
SG2BMM_local[(34)] =
|
||
|
(SG2BMM_local[(34)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 47))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
51))]));
|
||
|
SG2BMM_local[(37)] =
|
||
|
(SG2BMM_local[(37)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 51))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
55))]));
|
||
|
SG2BMM_local[(40)] =
|
||
|
(SG2BMM_local[(40)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 55))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
59))]));
|
||
|
SG2BMM_local[(43)] =
|
||
|
(SG2BMM_local[(43)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 59))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
63))]));
|
||
|
SG2BMM_local[(46)] =
|
||
|
(SG2BMM_local[(46)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 63))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
67))]));
|
||
|
SG2BMM_local[(49)] =
|
||
|
(SG2BMM_local[(49)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 67))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
71))]));
|
||
|
SG2BMM_local[(52)] =
|
||
|
(SG2BMM_local[(52)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 71))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
75))]));
|
||
|
SG2BMM_local[(55)] =
|
||
|
(SG2BMM_local[(55)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 75))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
79))]));
|
||
|
SG2BMM_local[(58)] =
|
||
|
(SG2BMM_local[(58)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 79))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
83))]));
|
||
|
SG2BMM_local[(61)] =
|
||
|
(SG2BMM_local[(61)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 83))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
87))]));
|
||
|
SG2BMM_local[(64)] =
|
||
|
(SG2BMM_local[(64)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 87))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
91))]));
|
||
|
SG2BMM_local[(67)] =
|
||
|
(SG2BMM_local[(67)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 91))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
95))]));
|
||
|
SG2BMM_local[(70)] =
|
||
|
(SG2BMM_local[(70)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 95))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
99))]));
|
||
|
SG2BMM_local[(73)] =
|
||
|
(SG2BMM_local[(73)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 99))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
103))]));
|
||
|
SG2BMM_local[(76)] =
|
||
|
(SG2BMM_local[(76)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 103))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
107))]));
|
||
|
SG2BMM_local[(79)] =
|
||
|
(SG2BMM_local[(79)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 107))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
111))]));
|
||
|
SG2BMM_local[(82)] =
|
||
|
(SG2BMM_local[(82)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 111))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
115))]));
|
||
|
SG2BMM_local[(85)] =
|
||
|
(SG2BMM_local[(85)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 115))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
119))]));
|
||
|
SG2BMM_local[(88)] =
|
||
|
(SG2BMM_local[(88)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 119))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
123))]));
|
||
|
SG2BMM_local[(91)] =
|
||
|
(SG2BMM_local[(91)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 123))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
127))]));
|
||
|
SG2BMM_local[(94)] =
|
||
|
(SG2BMM_local[(94)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 127))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
131))]));
|
||
|
SG2BMM_local[(97)] =
|
||
|
(SG2BMM_local[(97)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 131))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
135))]));
|
||
|
SG2BMM_local[(100)] =
|
||
|
(SG2BMM_local[(100)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 135))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
139))]));
|
||
|
SG2BMM_local[(103)] =
|
||
|
(SG2BMM_local[(103)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 139))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
143))]));
|
||
|
SG2BMM_local[(106)] =
|
||
|
(SG2BMM_local[(106)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 143))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
147))]));
|
||
|
SG2BMM_local[(109)] =
|
||
|
(SG2BMM_local[(109)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 147))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
151))]));
|
||
|
SG2BMM_local[(112)] =
|
||
|
(SG2BMM_local[(112)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 151))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
155))]));
|
||
|
SG2BMM_local[(115)] =
|
||
|
(SG2BMM_local[(115)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 155))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
159))]));
|
||
|
SG2BMM_local[(118)] =
|
||
|
(SG2BMM_local[(118)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 159))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
163))]));
|
||
|
SG2BMM_local[(2)] = (SG2BMM_local[(2)] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 29) * 160))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
8))]));
|
||
|
SG2BMM_local[(5)] =
|
||
|
(SG2BMM_local[(5)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 4))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
12))]));
|
||
|
SG2BMM_local[(8)] =
|
||
|
(SG2BMM_local[(8)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 8))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
16))]));
|
||
|
SG2BMM_local[(11)] =
|
||
|
(SG2BMM_local[(11)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 12))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
20))]));
|
||
|
SG2BMM_local[(14)] =
|
||
|
(SG2BMM_local[(14)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 16))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
24))]));
|
||
|
SG2BMM_local[(17)] =
|
||
|
(SG2BMM_local[(17)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 20))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
28))]));
|
||
|
SG2BMM_local[(20)] =
|
||
|
(SG2BMM_local[(20)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 24))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
32))]));
|
||
|
SG2BMM_local[(23)] =
|
||
|
(SG2BMM_local[(23)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 28))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
36))]));
|
||
|
SG2BMM_local[(26)] =
|
||
|
(SG2BMM_local[(26)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 32))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
40))]));
|
||
|
SG2BMM_local[(29)] =
|
||
|
(SG2BMM_local[(29)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 36))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
44))]));
|
||
|
SG2BMM_local[(32)] =
|
||
|
(SG2BMM_local[(32)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 40))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
48))]));
|
||
|
SG2BMM_local[(35)] =
|
||
|
(SG2BMM_local[(35)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 44))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
52))]));
|
||
|
SG2BMM_local[(38)] =
|
||
|
(SG2BMM_local[(38)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 48))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
56))]));
|
||
|
SG2BMM_local[(41)] =
|
||
|
(SG2BMM_local[(41)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 52))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
60))]));
|
||
|
SG2BMM_local[(44)] =
|
||
|
(SG2BMM_local[(44)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 56))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
64))]));
|
||
|
SG2BMM_local[(47)] =
|
||
|
(SG2BMM_local[(47)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 60))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
68))]));
|
||
|
SG2BMM_local[(50)] =
|
||
|
(SG2BMM_local[(50)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 64))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
72))]));
|
||
|
SG2BMM_local[(53)] =
|
||
|
(SG2BMM_local[(53)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 68))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
76))]));
|
||
|
SG2BMM_local[(56)] =
|
||
|
(SG2BMM_local[(56)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 72))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
80))]));
|
||
|
SG2BMM_local[(59)] =
|
||
|
(SG2BMM_local[(59)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 76))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
84))]));
|
||
|
SG2BMM_local[(62)] =
|
||
|
(SG2BMM_local[(62)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 80))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
88))]));
|
||
|
SG2BMM_local[(65)] =
|
||
|
(SG2BMM_local[(65)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 84))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
92))]));
|
||
|
SG2BMM_local[(68)] =
|
||
|
(SG2BMM_local[(68)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 88))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
96))]));
|
||
|
SG2BMM_local[(71)] =
|
||
|
(SG2BMM_local[(71)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 92))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
100))]));
|
||
|
SG2BMM_local[(74)] =
|
||
|
(SG2BMM_local[(74)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 96))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
104))]));
|
||
|
SG2BMM_local[(77)] =
|
||
|
(SG2BMM_local[(77)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 100))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
108))]));
|
||
|
SG2BMM_local[(80)] =
|
||
|
(SG2BMM_local[(80)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 104))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
112))]));
|
||
|
SG2BMM_local[(83)] =
|
||
|
(SG2BMM_local[(83)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 108))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
116))]));
|
||
|
SG2BMM_local[(86)] =
|
||
|
(SG2BMM_local[(86)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 112))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
120))]));
|
||
|
SG2BMM_local[(89)] =
|
||
|
(SG2BMM_local[(89)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 116))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
124))]));
|
||
|
SG2BMM_local[(92)] =
|
||
|
(SG2BMM_local[(92)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 120))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
128))]));
|
||
|
SG2BMM_local[(95)] =
|
||
|
(SG2BMM_local[(95)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 124))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
132))]));
|
||
|
SG2BMM_local[(98)] =
|
||
|
(SG2BMM_local[(98)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 128))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
136))]));
|
||
|
SG2BMM_local[(101)] =
|
||
|
(SG2BMM_local[(101)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 132))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
140))]));
|
||
|
SG2BMM_local[(104)] =
|
||
|
(SG2BMM_local[(104)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 136))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
144))]));
|
||
|
SG2BMM_local[(107)] =
|
||
|
(SG2BMM_local[(107)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 140))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
148))]));
|
||
|
SG2BMM_local[(110)] =
|
||
|
(SG2BMM_local[(110)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 144))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
152))]));
|
||
|
SG2BMM_local[(113)] =
|
||
|
(SG2BMM_local[(113)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 148))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
156))]));
|
||
|
SG2BMM_local[(116)] =
|
||
|
(SG2BMM_local[(116)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 152))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
160))]));
|
||
|
SG2BMM_local[(119)] =
|
||
|
(SG2BMM_local[(119)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 156))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
164))]));
|
||
|
SG2BMM_local[(2)] =
|
||
|
(SG2BMM_local[(2)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 1))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
9))]));
|
||
|
SG2BMM_local[(5)] =
|
||
|
(SG2BMM_local[(5)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 5))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
13))]));
|
||
|
SG2BMM_local[(8)] =
|
||
|
(SG2BMM_local[(8)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 9))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
17))]));
|
||
|
SG2BMM_local[(11)] =
|
||
|
(SG2BMM_local[(11)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 13))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
21))]));
|
||
|
SG2BMM_local[(14)] =
|
||
|
(SG2BMM_local[(14)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 17))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
25))]));
|
||
|
SG2BMM_local[(17)] =
|
||
|
(SG2BMM_local[(17)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 21))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
29))]));
|
||
|
SG2BMM_local[(20)] =
|
||
|
(SG2BMM_local[(20)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 25))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
33))]));
|
||
|
SG2BMM_local[(23)] =
|
||
|
(SG2BMM_local[(23)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 29))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
37))]));
|
||
|
SG2BMM_local[(26)] =
|
||
|
(SG2BMM_local[(26)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 33))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
41))]));
|
||
|
SG2BMM_local[(29)] =
|
||
|
(SG2BMM_local[(29)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 37))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
45))]));
|
||
|
SG2BMM_local[(32)] =
|
||
|
(SG2BMM_local[(32)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 41))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
49))]));
|
||
|
SG2BMM_local[(35)] =
|
||
|
(SG2BMM_local[(35)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 45))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
53))]));
|
||
|
SG2BMM_local[(38)] =
|
||
|
(SG2BMM_local[(38)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 49))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
57))]));
|
||
|
SG2BMM_local[(41)] =
|
||
|
(SG2BMM_local[(41)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 53))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
61))]));
|
||
|
SG2BMM_local[(44)] =
|
||
|
(SG2BMM_local[(44)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 57))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
65))]));
|
||
|
SG2BMM_local[(47)] =
|
||
|
(SG2BMM_local[(47)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 61))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
69))]));
|
||
|
SG2BMM_local[(50)] =
|
||
|
(SG2BMM_local[(50)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 65))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
73))]));
|
||
|
SG2BMM_local[(53)] =
|
||
|
(SG2BMM_local[(53)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 69))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
77))]));
|
||
|
SG2BMM_local[(56)] =
|
||
|
(SG2BMM_local[(56)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 73))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
81))]));
|
||
|
SG2BMM_local[(59)] =
|
||
|
(SG2BMM_local[(59)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 77))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
85))]));
|
||
|
SG2BMM_local[(62)] =
|
||
|
(SG2BMM_local[(62)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 81))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
89))]));
|
||
|
SG2BMM_local[(65)] =
|
||
|
(SG2BMM_local[(65)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 85))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
93))]));
|
||
|
SG2BMM_local[(68)] =
|
||
|
(SG2BMM_local[(68)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 89))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
97))]));
|
||
|
SG2BMM_local[(71)] =
|
||
|
(SG2BMM_local[(71)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 93))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
101))]));
|
||
|
SG2BMM_local[(74)] =
|
||
|
(SG2BMM_local[(74)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 97))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
105))]));
|
||
|
SG2BMM_local[(77)] =
|
||
|
(SG2BMM_local[(77)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 101))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
109))]));
|
||
|
SG2BMM_local[(80)] =
|
||
|
(SG2BMM_local[(80)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 105))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
113))]));
|
||
|
SG2BMM_local[(83)] =
|
||
|
(SG2BMM_local[(83)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 109))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
117))]));
|
||
|
SG2BMM_local[(86)] =
|
||
|
(SG2BMM_local[(86)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 113))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
121))]));
|
||
|
SG2BMM_local[(89)] =
|
||
|
(SG2BMM_local[(89)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 117))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
125))]));
|
||
|
SG2BMM_local[(92)] =
|
||
|
(SG2BMM_local[(92)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 121))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
129))]));
|
||
|
SG2BMM_local[(95)] =
|
||
|
(SG2BMM_local[(95)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 125))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
133))]));
|
||
|
SG2BMM_local[(98)] =
|
||
|
(SG2BMM_local[(98)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 129))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
137))]));
|
||
|
SG2BMM_local[(101)] =
|
||
|
(SG2BMM_local[(101)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 133))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
141))]));
|
||
|
SG2BMM_local[(104)] =
|
||
|
(SG2BMM_local[(104)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 137))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
145))]));
|
||
|
SG2BMM_local[(107)] =
|
||
|
(SG2BMM_local[(107)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 141))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
149))]));
|
||
|
SG2BMM_local[(110)] =
|
||
|
(SG2BMM_local[(110)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 145))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
153))]));
|
||
|
SG2BMM_local[(113)] =
|
||
|
(SG2BMM_local[(113)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 149))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
157))]));
|
||
|
SG2BMM_local[(116)] =
|
||
|
(SG2BMM_local[(116)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 153))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
161))]));
|
||
|
SG2BMM_local[(119)] =
|
||
|
(SG2BMM_local[(119)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 157))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
165))]));
|
||
|
SG2BMM_local[(2)] =
|
||
|
(SG2BMM_local[(2)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 2))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
10))]));
|
||
|
SG2BMM_local[(5)] =
|
||
|
(SG2BMM_local[(5)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 6))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
14))]));
|
||
|
SG2BMM_local[(8)] =
|
||
|
(SG2BMM_local[(8)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 10))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
18))]));
|
||
|
SG2BMM_local[(11)] =
|
||
|
(SG2BMM_local[(11)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 14))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
22))]));
|
||
|
SG2BMM_local[(14)] =
|
||
|
(SG2BMM_local[(14)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 18))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
26))]));
|
||
|
SG2BMM_local[(17)] =
|
||
|
(SG2BMM_local[(17)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 22))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
30))]));
|
||
|
SG2BMM_local[(20)] =
|
||
|
(SG2BMM_local[(20)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 26))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
34))]));
|
||
|
SG2BMM_local[(23)] =
|
||
|
(SG2BMM_local[(23)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 30))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
38))]));
|
||
|
SG2BMM_local[(26)] =
|
||
|
(SG2BMM_local[(26)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 34))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
42))]));
|
||
|
SG2BMM_local[(29)] =
|
||
|
(SG2BMM_local[(29)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 38))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
46))]));
|
||
|
SG2BMM_local[(32)] =
|
||
|
(SG2BMM_local[(32)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 42))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
50))]));
|
||
|
SG2BMM_local[(35)] =
|
||
|
(SG2BMM_local[(35)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 46))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
54))]));
|
||
|
SG2BMM_local[(38)] =
|
||
|
(SG2BMM_local[(38)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 50))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
58))]));
|
||
|
SG2BMM_local[(41)] =
|
||
|
(SG2BMM_local[(41)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 54))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
62))]));
|
||
|
SG2BMM_local[(44)] =
|
||
|
(SG2BMM_local[(44)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 58))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
66))]));
|
||
|
SG2BMM_local[(47)] =
|
||
|
(SG2BMM_local[(47)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 62))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
70))]));
|
||
|
SG2BMM_local[(50)] =
|
||
|
(SG2BMM_local[(50)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 66))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
74))]));
|
||
|
SG2BMM_local[(53)] =
|
||
|
(SG2BMM_local[(53)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 70))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
78))]));
|
||
|
SG2BMM_local[(56)] =
|
||
|
(SG2BMM_local[(56)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 74))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
82))]));
|
||
|
SG2BMM_local[(59)] =
|
||
|
(SG2BMM_local[(59)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 78))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
86))]));
|
||
|
SG2BMM_local[(62)] =
|
||
|
(SG2BMM_local[(62)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 82))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
90))]));
|
||
|
SG2BMM_local[(65)] =
|
||
|
(SG2BMM_local[(65)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 86))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
94))]));
|
||
|
SG2BMM_local[(68)] =
|
||
|
(SG2BMM_local[(68)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 90))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
98))]));
|
||
|
SG2BMM_local[(71)] =
|
||
|
(SG2BMM_local[(71)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 94))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
102))]));
|
||
|
SG2BMM_local[(74)] =
|
||
|
(SG2BMM_local[(74)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 98))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
106))]));
|
||
|
SG2BMM_local[(77)] =
|
||
|
(SG2BMM_local[(77)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 102))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
110))]));
|
||
|
SG2BMM_local[(80)] =
|
||
|
(SG2BMM_local[(80)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 106))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
114))]));
|
||
|
SG2BMM_local[(83)] =
|
||
|
(SG2BMM_local[(83)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 110))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
118))]));
|
||
|
SG2BMM_local[(86)] =
|
||
|
(SG2BMM_local[(86)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 114))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
122))]));
|
||
|
SG2BMM_local[(89)] =
|
||
|
(SG2BMM_local[(89)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 118))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
126))]));
|
||
|
SG2BMM_local[(92)] =
|
||
|
(SG2BMM_local[(92)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 122))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
130))]));
|
||
|
SG2BMM_local[(95)] =
|
||
|
(SG2BMM_local[(95)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 126))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
134))]));
|
||
|
SG2BMM_local[(98)] =
|
||
|
(SG2BMM_local[(98)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 130))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
138))]));
|
||
|
SG2BMM_local[(101)] =
|
||
|
(SG2BMM_local[(101)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 134))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
142))]));
|
||
|
SG2BMM_local[(104)] =
|
||
|
(SG2BMM_local[(104)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 138))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
146))]));
|
||
|
SG2BMM_local[(107)] =
|
||
|
(SG2BMM_local[(107)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 142))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
150))]));
|
||
|
SG2BMM_local[(110)] =
|
||
|
(SG2BMM_local[(110)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 146))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
154))]));
|
||
|
SG2BMM_local[(113)] =
|
||
|
(SG2BMM_local[(113)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 150))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
158))]));
|
||
|
SG2BMM_local[(116)] =
|
||
|
(SG2BMM_local[(116)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 154))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
162))]));
|
||
|
SG2BMM_local[(119)] =
|
||
|
(SG2BMM_local[(119)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 158))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
166))]));
|
||
|
SG2BMM_local[(2)] =
|
||
|
(SG2BMM_local[(2)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 3))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
11))]));
|
||
|
SG2BMM_local[(5)] =
|
||
|
(SG2BMM_local[(5)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 7))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
15))]));
|
||
|
SG2BMM_local[(8)] =
|
||
|
(SG2BMM_local[(8)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 11))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
19))]));
|
||
|
SG2BMM_local[(11)] =
|
||
|
(SG2BMM_local[(11)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 15))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
23))]));
|
||
|
SG2BMM_local[(14)] =
|
||
|
(SG2BMM_local[(14)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 19))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
27))]));
|
||
|
SG2BMM_local[(17)] =
|
||
|
(SG2BMM_local[(17)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 23))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
31))]));
|
||
|
SG2BMM_local[(20)] =
|
||
|
(SG2BMM_local[(20)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 27))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
35))]));
|
||
|
SG2BMM_local[(23)] =
|
||
|
(SG2BMM_local[(23)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 31))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
39))]));
|
||
|
SG2BMM_local[(26)] =
|
||
|
(SG2BMM_local[(26)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 35))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
43))]));
|
||
|
SG2BMM_local[(29)] =
|
||
|
(SG2BMM_local[(29)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 39))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
47))]));
|
||
|
SG2BMM_local[(32)] =
|
||
|
(SG2BMM_local[(32)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 43))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
51))]));
|
||
|
SG2BMM_local[(35)] =
|
||
|
(SG2BMM_local[(35)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 47))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
55))]));
|
||
|
SG2BMM_local[(38)] =
|
||
|
(SG2BMM_local[(38)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 51))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
59))]));
|
||
|
SG2BMM_local[(41)] =
|
||
|
(SG2BMM_local[(41)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 55))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
63))]));
|
||
|
SG2BMM_local[(44)] =
|
||
|
(SG2BMM_local[(44)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 59))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
67))]));
|
||
|
SG2BMM_local[(47)] =
|
||
|
(SG2BMM_local[(47)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 63))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
71))]));
|
||
|
SG2BMM_local[(50)] =
|
||
|
(SG2BMM_local[(50)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 67))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
75))]));
|
||
|
SG2BMM_local[(53)] =
|
||
|
(SG2BMM_local[(53)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 71))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
79))]));
|
||
|
SG2BMM_local[(56)] =
|
||
|
(SG2BMM_local[(56)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 75))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
83))]));
|
||
|
SG2BMM_local[(59)] =
|
||
|
(SG2BMM_local[(59)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 79))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
87))]));
|
||
|
SG2BMM_local[(62)] =
|
||
|
(SG2BMM_local[(62)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 83))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
91))]));
|
||
|
SG2BMM_local[(65)] =
|
||
|
(SG2BMM_local[(65)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 87))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
95))]));
|
||
|
SG2BMM_local[(68)] =
|
||
|
(SG2BMM_local[(68)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 91))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
99))]));
|
||
|
SG2BMM_local[(71)] =
|
||
|
(SG2BMM_local[(71)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 95))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
103))]));
|
||
|
SG2BMM_local[(74)] =
|
||
|
(SG2BMM_local[(74)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 99))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
107))]));
|
||
|
SG2BMM_local[(77)] =
|
||
|
(SG2BMM_local[(77)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 103))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
111))]));
|
||
|
SG2BMM_local[(80)] =
|
||
|
(SG2BMM_local[(80)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 107))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
115))]));
|
||
|
SG2BMM_local[(83)] =
|
||
|
(SG2BMM_local[(83)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 111))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
119))]));
|
||
|
SG2BMM_local[(86)] =
|
||
|
(SG2BMM_local[(86)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 115))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
123))]));
|
||
|
SG2BMM_local[(89)] =
|
||
|
(SG2BMM_local[(89)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 119))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
127))]));
|
||
|
SG2BMM_local[(92)] =
|
||
|
(SG2BMM_local[(92)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 123))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
131))]));
|
||
|
SG2BMM_local[(95)] =
|
||
|
(SG2BMM_local[(95)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 127))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
135))]));
|
||
|
SG2BMM_local[(98)] =
|
||
|
(SG2BMM_local[(98)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 131))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
139))]));
|
||
|
SG2BMM_local[(101)] =
|
||
|
(SG2BMM_local[(101)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 135))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
143))]));
|
||
|
SG2BMM_local[(104)] =
|
||
|
(SG2BMM_local[(104)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 139))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
147))]));
|
||
|
SG2BMM_local[(107)] =
|
||
|
(SG2BMM_local[(107)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 143))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
151))]));
|
||
|
SG2BMM_local[(110)] =
|
||
|
(SG2BMM_local[(110)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 147))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
155))]));
|
||
|
SG2BMM_local[(113)] =
|
||
|
(SG2BMM_local[(113)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 151))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
159))]));
|
||
|
SG2BMM_local[(116)] =
|
||
|
(SG2BMM_local[(116)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 155))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
163))]));
|
||
|
SG2BMM_local[(119)] =
|
||
|
(SG2BMM_local[(119)] +
|
||
|
(q_shared[((((((int)threadIdx.x) / 29) * 160) + 159))] *
|
||
|
Kpad_shared[(((((((int)threadIdx.x) / 29) * 160) +
|
||
|
((((int)threadIdx.x) % 29) * 12)) +
|
||
|
167))]));
|
||
|
}
|
||
|
for (int j_inner = 0; j_inner < 40; ++j_inner) {
|
||
|
for (int k_inner = 0; k_inner < 3; ++k_inner) {
|
||
|
SG2BMM[((((((((((int)blockIdx.x) / 23) * 160080) +
|
||
|
((((int)threadIdx.x) / 29) * 80040)) +
|
||
|
(j_inner * 2001)) +
|
||
|
((((int)blockIdx.x) % 23) * 87)) +
|
||
|
((((int)threadIdx.x) % 29) * 3)) +
|
||
|
k_inner))] = SG2BMM_local[(((j_inner * 3) + k_inner))];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
__global__ void __launch_bounds__(276)
|
||
|
sg2bmm_bs1_n10000_m64_w1000_d4_kernel0(float *__restrict__ q,
|
||
|
float *__restrict__ k,
|
||
|
float *__restrict__ SG2BMM) {
|
||
|
float SG2BMM_local[145];
|
||
|
__shared__ float q_shared[20];
|
||
|
__shared__ float Kpad_shared[8020];
|
||
|
for (int k_c_inner_init = 0; k_c_inner_init < 29; ++k_c_inner_init) {
|
||
|
SG2BMM_local[(k_c_inner_init)] = 0.000000e+00f;
|
||
|
SG2BMM_local[((k_c_inner_init + 29))] = 0.000000e+00f;
|
||
|
SG2BMM_local[((k_c_inner_init + 58))] = 0.000000e+00f;
|
||
|
SG2BMM_local[((k_c_inner_init + 87))] = 0.000000e+00f;
|
||
|
SG2BMM_local[((k_c_inner_init + 116))] = 0.000000e+00f;
|
||
|
}
|
||
|
for (int p_outer_outer = 0; p_outer_outer < 64; ++p_outer_outer) {
|
||
|
__syncthreads();
|
||
|
if (((int)threadIdx.x) < 20) {
|
||
|
q_shared[(((int)threadIdx.x))] =
|
||
|
q[((((((int)blockIdx.x) * 1280) + (((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer))];
|
||
|
}
|
||
|
Kpad_shared[(((int)threadIdx.x))] =
|
||
|
((4000 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
256000))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 276))] =
|
||
|
((3724 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
238336))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 552))] =
|
||
|
((3448 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
220672))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 828))] =
|
||
|
((3172 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
203008))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 1104))] =
|
||
|
((2896 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
185344))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 1380))] =
|
||
|
((2620 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
167680))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 1656))] =
|
||
|
((2344 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
150016))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 1932))] =
|
||
|
((2068 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
132352))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 2208))] =
|
||
|
((1792 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
114688))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 2484))] =
|
||
|
((1516 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
97024))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 2760))] =
|
||
|
((1240 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
79360))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 3036))] =
|
||
|
((964 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
61696))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 3312))] =
|
||
|
((688 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
44032))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 3588))] =
|
||
|
((412 <= (((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
26368))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 3864))] =
|
||
|
(((136 <=
|
||
|
(((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x))) &&
|
||
|
((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 10136))
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) -
|
||
|
8704))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 4140))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 9860)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
8960))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 4416))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 9584)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
26624))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 4692))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 9308)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
44288))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 4968))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 9032)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
61952))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 5244))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 8756)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
79616))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 5520))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 8480)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
97280))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 5796))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 8204)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
114944))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 6072))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 7928)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
132608))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 6348))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 7652)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
150272))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 6624))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 7376)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
167936))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 6900))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 7100)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
185600))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 7176))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 6824)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
203264))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 7452))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 6548)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
220928))]
|
||
|
: 0.000000e+00f);
|
||
|
Kpad_shared[((((int)threadIdx.x) + 7728))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) < 6272)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
238592))]
|
||
|
: 0.000000e+00f);
|
||
|
if (((int)threadIdx.x) < 16) {
|
||
|
Kpad_shared[((((int)threadIdx.x) + 8004))] =
|
||
|
(((((((int)blockIdx.x) % 500) * 20) + ((int)threadIdx.x)) <
|
||
|
5996)
|
||
|
? k[(((((((int)blockIdx.x) * 1280) +
|
||
|
(((int)threadIdx.x) * 64)) +
|
||
|
p_outer_outer) +
|
||
|
256256))]
|
||
|
: 0.000000e+00f);
|
||
|
}
|
||
|
__syncthreads();
|
||
|
for (int k_c_inner = 0; k_c_inner < 29; ++k_c_inner) {
|
||
|
SG2BMM_local[(k_c_inner)] =
|
||
|
(SG2BMM_local[(k_c_inner)] +
|
||
|
(q_shared[((((int)threadIdx.x) / 69))] *
|
||
|
Kpad_shared[(
|
||
|
((((((int)threadIdx.x) % 69) * 116) + (k_c_inner * 4)) +
|
||
|
(((int)threadIdx.x) / 69)))]));
|
||
|
SG2BMM_local[((k_c_inner + 29))] =
|
||
|
(SG2BMM_local[((k_c_inner + 29))] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 69) + 4))] *
|
||
|
Kpad_shared[(
|
||
|
(((((((int)threadIdx.x) % 69) * 116) + (k_c_inner * 4)) +
|
||
|
(((int)threadIdx.x) / 69)) +
|
||
|
4))]));
|
||
|
SG2BMM_local[((k_c_inner + 58))] =
|
||
|
(SG2BMM_local[((k_c_inner + 58))] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 69) + 8))] *
|
||
|
Kpad_shared[(
|
||
|
(((((((int)threadIdx.x) % 69) * 116) + (k_c_inner * 4)) +
|
||
|
(((int)threadIdx.x) / 69)) +
|
||
|
8))]));
|
||
|
SG2BMM_local[((k_c_inner + 87))] =
|
||
|
(SG2BMM_local[((k_c_inner + 87))] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 69) + 12))] *
|
||
|
Kpad_shared[(
|
||
|
(((((((int)threadIdx.x) % 69) * 116) + (k_c_inner * 4)) +
|
||
|
(((int)threadIdx.x) / 69)) +
|
||
|
12))]));
|
||
|
SG2BMM_local[((k_c_inner + 116))] =
|
||
|
(SG2BMM_local[((k_c_inner + 116))] +
|
||
|
(q_shared[(((((int)threadIdx.x) / 69) + 16))] *
|
||
|
Kpad_shared[(
|
||
|
(((((((int)threadIdx.x) % 69) * 116) + (k_c_inner * 4)) +
|
||
|
(((int)threadIdx.x) / 69)) +
|
||
|
16))]));
|
||
|
}
|
||
|
}
|
||
|
for (int k_inner = 0; k_inner < 29; ++k_inner) {
|
||
|
SG2BMM[((((((int)blockIdx.x) * 40020) + (((int)threadIdx.x) * 29)) +
|
||
|
k_inner))] = SG2BMM_local[(k_inner)];
|
||
|
SG2BMM[(((((((int)blockIdx.x) * 40020) + (((int)threadIdx.x) * 29)) +
|
||
|
k_inner) +
|
||
|
8004))] = SG2BMM_local[((k_inner + 29))];
|
||
|
SG2BMM[(((((((int)blockIdx.x) * 40020) + (((int)threadIdx.x) * 29)) +
|
||
|
k_inner) +
|
||
|
16008))] = SG2BMM_local[((k_inner + 58))];
|
||
|
SG2BMM[(((((((int)blockIdx.x) * 40020) + (((int)threadIdx.x) * 29)) +
|
||
|
k_inner) +
|
||
|
24012))] = SG2BMM_local[((k_inner + 87))];
|
||
|
SG2BMM[(((((((int)blockIdx.x) * 40020) + (((int)threadIdx.x) * 29)) +
|
||
|
k_inner) +
|
||
|
32016))] = SG2BMM_local[((k_inner + 116))];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
__global__ void __launch_bounds__(256)
|
||
|
gbmml_bs1_n10000_m64_w1000_d1_kernel0(float *__restrict__ prob,
|
||
|
float *__restrict__ q,
|
||
|
float *__restrict__ G2BMM) {
|
||
|
float G2BMM_local[8];
|
||
|
__shared__ float prob_shared[736];
|
||
|
__shared__ float Qpad_shared[4864];
|
||
|
G2BMM_local[(0)] = 0.000000e+00f;
|
||
|
G2BMM_local[(1)] = 0.000000e+00f;
|
||
|
G2BMM_local[(2)] = 0.000000e+00f;
|
||
|
G2BMM_local[(3)] = 0.000000e+00f;
|
||
|
G2BMM_local[(4)] = 0.000000e+00f;
|
||
|
G2BMM_local[(5)] = 0.000000e+00f;
|
||
|
G2BMM_local[(6)] = 0.000000e+00f;
|
||
|
G2BMM_local[(7)] = 0.000000e+00f;
|
||
|
for (int p_outer_outer = 0; p_outer_outer < 87; ++p_outer_outer) {
|
||
|
__syncthreads();
|
||
|
prob_shared[(((int)threadIdx.x))] =
|
||
|
prob[(((((((((int)blockIdx.x) / 625) * 40020000) +
|
||
|
((((int)blockIdx.x) % 625) * 32016)) +
|
||
|
((((int)threadIdx.x) / 23) * 2001)) +
|
||
|
(p_outer_outer * 23)) +
|
||
|
(((int)threadIdx.x) % 23)))];
|
||
|
prob_shared[((((int)threadIdx.x) + 256))] =
|
||
|
prob[((((((((((int)blockIdx.x) / 625) * 40020000) +
|
||
|
(((((int)threadIdx.x) + 256) / 368) * 20010000)) +
|
||
|
((((int)blockIdx.x) % 625) * 32016)) +
|
||
|
((((((int)threadIdx.x) + 256) % 368) / 23) * 2001)) +
|
||
|
(p_outer_outer * 23)) +
|
||
|
((((int)threadIdx.x) + 3) % 23)))];
|
||
|
if (((int)threadIdx.x) < 224) {
|
||
|
prob_shared[((((int)threadIdx.x) + 512))] =
|
||
|
prob[((((((((((int)blockIdx.x) / 625) * 40020000) +
|
||
|
(((((int)threadIdx.x) + 512) / 368) * 20010000)) +
|
||
|
((((int)blockIdx.x) % 625) * 32016)) +
|
||
|
(((((int)threadIdx.x) + 144) / 23) * 2001)) +
|
||
|
(p_outer_outer * 23)) +
|
||
|
((((int)threadIdx.x) + 6) % 23)))];
|
||
|
}
|
||
|
Qpad_shared[(((int)threadIdx.x))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 11000))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 256))] =
|
||
|
(((996 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10996))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
63744))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 512))] =
|
||
|
(((992 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10992))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
63488))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 768))] =
|
||
|
(((988 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10988))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
63232))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1024))] =
|
||
|
(((984 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10984))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
62976))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1280))] =
|
||
|
(((980 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10980))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
62720))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1536))] =
|
||
|
(((976 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10976))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
62464))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1792))] =
|
||
|
(((972 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10972))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
62208))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2048))] =
|
||
|
(((968 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 10968))
|
||
|
? q[(((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
61952))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2304))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 36) % 38))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 36) % 38)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 2304) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
((((((int)threadIdx.x) >> 6) + 36) % 38) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2560))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 2))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 2)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 2560) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 2) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2816))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 6))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 6)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 2816) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 6) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3072))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 10))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 10)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 3072) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 10) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3328))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 14))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 14)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 3328) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 14) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3584))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 18))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 18)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 3584) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 18) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3840))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 22))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 22)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 3840) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 22) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4096))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 26))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 26)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 4096) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 26) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4352))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 30))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 30)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 4352) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 30) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4608))] =
|
||
|
(((1000 <=
|
||
|
(((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 34))) &&
|
||
|
((((p_outer_outer * 23) + ((((int)blockIdx.x) % 625) * 16)) +
|
||
|
((((int)threadIdx.x) >> 6) + 34)) < 11000))
|
||
|
? q[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
(((((int)threadIdx.x) + 4608) / 2432) * 640000)) +
|
||
|
(p_outer_outer * 1472)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) >> 6) + 34) * 64)) +
|
||
|
(((int)threadIdx.x) & 63)) -
|
||
|
64000))]
|
||
|
: 0.000000e+00f);
|
||
|
__syncthreads();
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[(((((int)threadIdx.x) >> 5) * 92))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[(((((int)threadIdx.x) >> 5) * 92))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 23))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
64))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 23))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
65))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 46))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
128))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 46))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
129))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 69))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
192))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 69))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
193))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 1))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
64))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 1))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
65))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 24))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
128))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 24))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
129))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 47))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
192))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 47))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
193))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 70))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 70))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 2))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
128))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 2))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
129))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 25))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
192))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 25))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
193))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 48))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 48))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 71))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 71))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 3))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
192))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 3))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
193))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 26))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 26))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 49))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 49))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 72))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 72))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 4))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 4))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 27))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 27))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 50))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 50))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 73))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 73))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 5))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 5))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 28))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 28))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 51))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 51))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 74))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 74))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 6))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 6))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 29))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 29))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 52))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 52))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 75))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 75))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 7))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 7))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 30))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 30))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 53))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 53))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 76))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 76))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 8))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 8))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 31))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 31))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 54))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 54))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 77))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 77))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 9))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 9))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 32))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 32))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 55))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 55))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 78))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 78))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 10))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 10))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 33))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 33))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 56))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 56))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 79))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 79))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 11))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 11))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 34))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 34))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 57))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 57))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 80))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
896))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 80))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
897))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 12))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 12))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 35))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 35))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 58))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
896))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 58))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
897))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 81))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
960))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 81))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
961))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 13))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 13))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 36))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
896))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 36))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
897))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 59))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
960))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 59))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
961))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 82))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1024))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 82))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1025))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 14))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
896))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 14))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
897))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 37))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
960))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 37))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
961))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 60))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1024))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 60))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1025))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 83))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1088))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 83))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1089))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 15))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
960))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 15))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
961))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 38))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1024))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 38))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1025))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 61))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1088))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 61))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1089))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 84))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1152))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 84))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1153))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 16))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1024))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 16))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1025))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 39))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1088))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 39))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1089))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 62))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1152))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 62))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1153))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 85))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1216))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 85))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1217))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 17))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1088))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 17))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1089))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 40))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1152))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 40))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1153))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 63))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1216))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 63))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1217))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 86))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1280))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 86))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1281))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 18))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1152))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 18))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1153))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 41))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1216))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 41))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1217))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 64))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1280))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 64))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1281))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 87))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1344))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 87))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1345))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 19))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1216))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 19))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1217))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 42))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1280))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 42))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1281))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 65))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1344))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 65))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1345))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 88))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1408))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 88))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1409))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 20))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1280))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 20))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1281))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 43))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1344))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 43))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1345))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 66))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1408))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 66))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1409))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 89))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1472))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 89))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1473))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 21))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1344))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 21))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1345))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 44))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1408))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 44))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1409))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 67))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1472))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 67))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1473))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 90))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1536))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 90))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1537))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 22))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1408))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 22))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1409))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 45))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1472))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 45))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1473))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 68))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1536))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 68))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1537))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 91))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1600))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 92) + 91))] *
|
||
|
Qpad_shared[((((((((int)threadIdx.x) >> 7) * 2432) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1601))]));
|
||
|
}
|
||
|
for (int j_inner = 0; j_inner < 4; ++j_inner) {
|
||
|
for (int k_inner = 0; k_inner < 2; ++k_inner) {
|
||
|
G2BMM[(((((((((((int)blockIdx.x) / 625) * 1280000) +
|
||
|
((((int)threadIdx.x) >> 7) * 640000)) +
|
||
|
((((int)blockIdx.x) % 625) * 1024)) +
|
||
|
(((((int)threadIdx.x) & 127) >> 5) * 256)) +
|
||
|
(j_inner * 64)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
k_inner))] = G2BMM_local[(((j_inner * 2) + k_inner))];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
__global__ void __launch_bounds__(320)
|
||
|
gbmml_bs1_n10000_m64_w1000_d4_kernel0(float *__restrict__ prob,
|
||
|
float *__restrict__ q,
|
||
|
float *__restrict__ G2BMM) {
|
||
|
float G2BMM_local[20];
|
||
|
__shared__ float prob_shared[300];
|
||
|
__shared__ float Qpad_shared[6912];
|
||
|
G2BMM_local[(0)] = 0.000000e+00f;
|
||
|
G2BMM_local[(2)] = 0.000000e+00f;
|
||
|
G2BMM_local[(1)] = 0.000000e+00f;
|
||
|
G2BMM_local[(3)] = 0.000000e+00f;
|
||
|
G2BMM_local[(4)] = 0.000000e+00f;
|
||
|
G2BMM_local[(6)] = 0.000000e+00f;
|
||
|
G2BMM_local[(5)] = 0.000000e+00f;
|
||
|
G2BMM_local[(7)] = 0.000000e+00f;
|
||
|
G2BMM_local[(8)] = 0.000000e+00f;
|
||
|
G2BMM_local[(10)] = 0.000000e+00f;
|
||
|
G2BMM_local[(9)] = 0.000000e+00f;
|
||
|
G2BMM_local[(11)] = 0.000000e+00f;
|
||
|
G2BMM_local[(12)] = 0.000000e+00f;
|
||
|
G2BMM_local[(14)] = 0.000000e+00f;
|
||
|
G2BMM_local[(13)] = 0.000000e+00f;
|
||
|
G2BMM_local[(15)] = 0.000000e+00f;
|
||
|
G2BMM_local[(16)] = 0.000000e+00f;
|
||
|
G2BMM_local[(18)] = 0.000000e+00f;
|
||
|
G2BMM_local[(17)] = 0.000000e+00f;
|
||
|
G2BMM_local[(19)] = 0.000000e+00f;
|
||
|
for (int p_outer_outer = 0; p_outer_outer < 667; ++p_outer_outer) {
|
||
|
__syncthreads();
|
||
|
if (((int)threadIdx.x) < 100) {
|
||
|
((float3 *)(prob_shared + ((((int)threadIdx.x) * 3))))[0] =
|
||
|
((float3 *)(prob + ((((((int)blockIdx.x) * 200100) +
|
||
|
(((int)threadIdx.x) * 2001)) +
|
||
|
(p_outer_outer * 3)))))[0];
|
||
|
}
|
||
|
Qpad_shared[(((int)threadIdx.x))] =
|
||
|
(((4000 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 14000))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
256000))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 320))] =
|
||
|
(((3995 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13995))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
255680))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 640))] =
|
||
|
(((3990 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13990))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
255360))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 960))] =
|
||
|
(((3985 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13985))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
255040))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1280))] =
|
||
|
(((3980 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13980))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
254720))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1600))] =
|
||
|
(((3975 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13975))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
254400))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 1920))] =
|
||
|
(((3970 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13970))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
254080))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2240))] =
|
||
|
(((3965 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13965))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
253760))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2560))] =
|
||
|
(((3960 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13960))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
253440))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 2880))] =
|
||
|
(((3955 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13955))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
253120))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3200))] =
|
||
|
(((3950 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13950))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
252800))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3520))] =
|
||
|
(((3945 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13945))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
252480))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 3840))] =
|
||
|
(((3940 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13940))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
252160))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4160))] =
|
||
|
(((3935 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13935))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
251840))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4480))] =
|
||
|
(((3930 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13930))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
251520))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 4800))] =
|
||
|
(((3925 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13925))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
251200))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 5120))] =
|
||
|
(((3920 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13920))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
250880))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 5440))] =
|
||
|
(((3915 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13915))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
250560))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 5760))] =
|
||
|
(((3910 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13910))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
250240))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 6080))] =
|
||
|
(((3905 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13905))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
249920))]
|
||
|
: 0.000000e+00f);
|
||
|
Qpad_shared[((((int)threadIdx.x) + 6400))] =
|
||
|
(((3900 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13900))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) + (p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
249600))]
|
||
|
: 0.000000e+00f);
|
||
|
if (((int)threadIdx.x) < 192) {
|
||
|
Qpad_shared[((((int)threadIdx.x) + 6720))] =
|
||
|
(((3895 <=
|
||
|
((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6))) &&
|
||
|
(((((((int)blockIdx.x) % 100) * 100) + (p_outer_outer * 12)) +
|
||
|
(((int)threadIdx.x) >> 6)) < 13895))
|
||
|
? q[(((((((int)blockIdx.x) * 6400) +
|
||
|
(p_outer_outer * 768)) +
|
||
|
((int)threadIdx.x)) -
|
||
|
249280))]
|
||
|
: 0.000000e+00f);
|
||
|
}
|
||
|
__syncthreads();
|
||
|
G2BMM_local[(0)] = (G2BMM_local[(0)] +
|
||
|
(prob_shared[(((((int)threadIdx.x) >> 5) * 30))] *
|
||
|
Qpad_shared[((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 3))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
64))]));
|
||
|
G2BMM_local[(1)] = (G2BMM_local[(1)] +
|
||
|
(prob_shared[(((((int)threadIdx.x) >> 5) * 30))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 3))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
65))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 6))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
128))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 9))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
192))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 6))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
129))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 9))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
193))]));
|
||
|
G2BMM_local[(8)] =
|
||
|
(G2BMM_local[(8)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 12))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(10)] =
|
||
|
(G2BMM_local[(10)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 15))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(9)] =
|
||
|
(G2BMM_local[(9)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 12))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(11)] =
|
||
|
(G2BMM_local[(11)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 15))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(12)] =
|
||
|
(G2BMM_local[(12)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 18))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(14)] =
|
||
|
(G2BMM_local[(14)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 21))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(13)] =
|
||
|
(G2BMM_local[(13)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 18))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(15)] =
|
||
|
(G2BMM_local[(15)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 21))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(16)] =
|
||
|
(G2BMM_local[(16)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 24))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(18)] =
|
||
|
(G2BMM_local[(18)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 27))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(17)] =
|
||
|
(G2BMM_local[(17)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 24))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(19)] =
|
||
|
(G2BMM_local[(19)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 27))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 1))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
256))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 4))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
320))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 1))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
257))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 4))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
321))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 7))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
384))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 10))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
448))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 7))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
385))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 10))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
449))]));
|
||
|
G2BMM_local[(8)] =
|
||
|
(G2BMM_local[(8)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 13))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(10)] =
|
||
|
(G2BMM_local[(10)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 16))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(9)] =
|
||
|
(G2BMM_local[(9)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 13))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(11)] =
|
||
|
(G2BMM_local[(11)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 16))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(12)] =
|
||
|
(G2BMM_local[(12)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 19))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(14)] =
|
||
|
(G2BMM_local[(14)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 22))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(13)] =
|
||
|
(G2BMM_local[(13)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 19))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(15)] =
|
||
|
(G2BMM_local[(15)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 22))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(16)] =
|
||
|
(G2BMM_local[(16)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 25))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(18)] =
|
||
|
(G2BMM_local[(18)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 28))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(17)] =
|
||
|
(G2BMM_local[(17)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 25))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(19)] =
|
||
|
(G2BMM_local[(19)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 28))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(0)] =
|
||
|
(G2BMM_local[(0)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 2))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
512))]));
|
||
|
G2BMM_local[(2)] =
|
||
|
(G2BMM_local[(2)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 5))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
576))]));
|
||
|
G2BMM_local[(1)] =
|
||
|
(G2BMM_local[(1)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 2))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
513))]));
|
||
|
G2BMM_local[(3)] =
|
||
|
(G2BMM_local[(3)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 5))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
577))]));
|
||
|
G2BMM_local[(4)] =
|
||
|
(G2BMM_local[(4)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 8))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
640))]));
|
||
|
G2BMM_local[(6)] =
|
||
|
(G2BMM_local[(6)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 11))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
704))]));
|
||
|
G2BMM_local[(5)] =
|
||
|
(G2BMM_local[(5)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 8))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
641))]));
|
||
|
G2BMM_local[(7)] =
|
||
|
(G2BMM_local[(7)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 11))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
705))]));
|
||
|
G2BMM_local[(8)] =
|
||
|
(G2BMM_local[(8)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 14))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
768))]));
|
||
|
G2BMM_local[(10)] =
|
||
|
(G2BMM_local[(10)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 17))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
832))]));
|
||
|
G2BMM_local[(9)] =
|
||
|
(G2BMM_local[(9)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 14))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
769))]));
|
||
|
G2BMM_local[(11)] =
|
||
|
(G2BMM_local[(11)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 17))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
833))]));
|
||
|
G2BMM_local[(12)] =
|
||
|
(G2BMM_local[(12)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 20))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
896))]));
|
||
|
G2BMM_local[(14)] =
|
||
|
(G2BMM_local[(14)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 23))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
960))]));
|
||
|
G2BMM_local[(13)] =
|
||
|
(G2BMM_local[(13)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 20))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
897))]));
|
||
|
G2BMM_local[(15)] =
|
||
|
(G2BMM_local[(15)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 23))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
961))]));
|
||
|
G2BMM_local[(16)] =
|
||
|
(G2BMM_local[(16)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 26))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1024))]));
|
||
|
G2BMM_local[(18)] =
|
||
|
(G2BMM_local[(18)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 29))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1088))]));
|
||
|
G2BMM_local[(17)] =
|
||
|
(G2BMM_local[(17)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 26))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1025))]));
|
||
|
G2BMM_local[(19)] =
|
||
|
(G2BMM_local[(19)] +
|
||
|
(prob_shared[((((((int)threadIdx.x) >> 5) * 30) + 29))] *
|
||
|
Qpad_shared[(((((((int)threadIdx.x) >> 5) * 640) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
1089))]));
|
||
|
}
|
||
|
for (int j_inner = 0; j_inner < 10; ++j_inner) {
|
||
|
for (int k_inner = 0; k_inner < 2; ++k_inner) {
|
||
|
G2BMM[((((((((int)blockIdx.x) * 6400) +
|
||
|
((((int)threadIdx.x) >> 5) * 640)) +
|
||
|
(j_inner * 64)) +
|
||
|
((((int)threadIdx.x) & 31) * 2)) +
|
||
|
k_inner))] = G2BMM_local[(((j_inner * 2) + k_inner))];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
inline void sg2bmm(float *__restrict__ q, float *__restrict__ k,
|
||
|
float *__restrict__ y, int bs, int n, int m, int w, int d) {
|
||
|
assert(bs % 8 == 0);
|
||
|
assert(n == 10000);
|
||
|
assert(m == 64);
|
||
|
assert(w == 1000);
|
||
|
if (d == 1) {
|
||
|
for (int i = 0; i < bs; i += 8) {
|
||
|
sg2bmm_bs1_n10000_m64_w1000_d1_kernel0<<<23000, 58>>>(
|
||
|
q + i * n * m, k + i * n * m,
|
||
|
y + i * n * (2 * w + 1));
|
||
|
}
|
||
|
} else if (d == 4) {
|
||
|
for (int i = 0; i < bs; i += 8) {
|
||
|
sg2bmm_bs1_n10000_m64_w1000_d4_kernel0<<<4000, 276>>>(
|
||
|
q + i * n * m, k + i * n * m, y + i * n * (2 * w + 1));
|
||
|
}
|
||
|
} else {
|
||
|
assert(false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
inline void sgbmml(float *__restrict__ q, float *__restrict__ k,
|
||
|
float *__restrict__ y, int bs, int n, int m, int w, int d) {
|
||
|
assert(bs % 8 == 0);
|
||
|
assert(n == 10000);
|
||
|
assert(m == 64);
|
||
|
assert(w == 1000);
|
||
|
if (d == 1) {
|
||
|
for (int i = 0; i < bs; i += 8) {
|
||
|
gbmml_bs1_n10000_m64_w1000_d1_kernel0<<<2500, 256>>>(
|
||
|
q + i * n * (2 * w + 1), k + i * n * m,
|
||
|
y + i * n * m);
|
||
|
}
|
||
|
} else if (d == 4) {
|
||
|
for (int i = 0; i < bs; i += 8) {
|
||
|
gbmml_bs1_n10000_m64_w1000_d4_kernel0<<<800, 320>>>(
|
||
|
q + i * n * (2 * w + 1), k + i * n * m,
|
||
|
y + i * n * m);
|
||
|
}
|
||
|
} else {
|
||
|
assert(false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
} // namespace infini
|