File: cudpp_maximal_launch.h

package info (click to toggle)
lammps 20220106.git7586adbb6a%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 348,064 kB
  • sloc: cpp: 831,421; python: 24,896; xml: 14,949; f90: 10,845; ansic: 7,967; sh: 4,226; perl: 4,064; fortran: 2,424; makefile: 1,501; objc: 238; lisp: 163; csh: 16; awk: 14; tcl: 6
file content (37 lines) | stat: -rw-r--r-- 1,236 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// -------------------------------------------------------------
// cuDPP -- CUDA Data Parallel Primitives library
// -------------------------------------------------------------
// $Revision: 5289 $
// $Date: 2010-11-23 13:04:43 -0700 (Tue, 23 Nov 2010) $
// -------------------------------------------------------------
// This source code is distributed under the terms of license.txt
// in the root directory of this source distribution.
// -------------------------------------------------------------
#ifndef _MAXIMAL_LAUNCH_H_
#define _MAXIMAL_LAUNCH_H_

#include "cuda_runtime.h"

extern "C"
size_t maxBlocks(cudaFuncAttributes &attribs,
                 cudaDeviceProp &devprop,
                 size_t bytesDynamicSharedMem,
                 size_t threadsPerBlock);

extern "C"
size_t maxBlocksFromPointer(void* kernel,
                            size_t   bytesDynamicSharedMem,
                            size_t   threadsPerBlock);

#ifdef __cplusplus

template <typename T>
size_t maxBlocks(T   kernel,
                 size_t bytesDynamicSharedMem,
                 size_t threadsPerBlock)
{
    return maxBlocksFromPointer((void*)kernel, bytesDynamicSharedMem, threadsPerBlock);
}
#endif

#endif // _MAXIMAL_LAUNCH_H_