2
* Copyright 2008-2011 NVIDIA Corporation
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
8
* http://www.apache.org/licenses/LICENSE-2.0
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
19
#include <thrust/detail/config.h>
36
template<typename NullaryFunction>
37
size_t block_size_with_maximal_occupancy(size_t dynamic_smem_bytes_per_thread = 0);
39
template<typename NullaryFunction, typename Size1, typename Size2>
40
size_t num_blocks_with_maximal_occupancy(Size1 n, Size2 block_size, size_t dynamic_smem_bytes_per_block = 0);
42
template<typename NullaryFunction, typename Size>
43
void launch_closure(NullaryFunction f, Size n);
45
template<typename NullaryFunction, typename Size1, typename Size2>
46
void launch_closure(NullaryFunction f, Size1 num_blocks, Size2 block_size);
48
template<typename NullaryFunction, typename Size1, typename Size2, typename Size3>
49
void launch_closure(NullaryFunction f, Size1 num_blocks, Size2 block_size, Size3 smem_size);
61
#include <thrust/detail/device/cuda/detail/launch_closure.inl>