MCPcopy Create free account
hub / github.com/clMathLibraries/clFFT / OffsetCalc

Function OffsetCalc

src/library/generator.transpose.cpp:29–45  ·  view source on GitHub ↗

generating string for calculating offset within sqaure transpose kernels (genTransposeKernelBatched)

Source from the content-addressed store, hash-verified

27{
28// generating string for calculating offset within sqaure transpose kernels (genTransposeKernelBatched)
29void OffsetCalc(std::stringstream& transKernel, const FFTKernelGenKeyParams& params, bool input)
30{
31 const size_t *stride = input ? params.fft_inStride : params.fft_outStride;
32 std::string offset = input ? "iOffset" : "oOffset";
33
34
35 clKernWrite(transKernel, 3) << "size_t " << offset << " = 0;" << std::endl;
36 clKernWrite(transKernel, 3) << "g_index = get_group_id(0);" << std::endl;
37
38 for (size_t i = params.fft_DataDim - 2; i > 0; i--)
39 {
40 clKernWrite(transKernel, 3) << offset << " += (g_index/numGroupsY_" << i << ")*" << stride[i + 1] << ";" << std::endl;
41 clKernWrite(transKernel, 3) << "g_index = g_index % numGroupsY_" << i << ";" << std::endl;
42 }
43
44 clKernWrite(transKernel, 3) << std::endl;
45}
46
47// generating string for calculating offset within sqaure transpose kernels (genTransposeKernelLeadingDimensionBatched)
48void OffsetCalcLeadingDimensionBatched(std::stringstream& transKernel, const FFTKernelGenKeyParams& params)

Callers 3

GenerateKernelMethod · 0.70
GenerateKernelMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected