File: run_length_encode_config_template

package info (click to toggle)
rocprim 6.4.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 11,428 kB
  • sloc: cpp: 153,383; python: 1,397; sh: 404; xml: 217; makefile: 119
file content (30 lines) | stat: -rw-r--r-- 1,054 bytes parent folder | download
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
{% extends "config_template" %}

{% macro get_header_guard() %}
ROCPRIM_DEVICE_DETAIL_CONFIG_DEVICE_RUN_LENGTH_ENCODE_HPP_
{%- endmacro %}

{% macro kernel_configuration(measurement) -%}
reduce_by_key_config<
    {{ measurement['cfg']['bs'] }},
    {{ measurement['cfg']['ipt'] }},
    block_load_method::block_load_transpose,
    block_load_method::block_load_direct,
    block_scan_algorithm::using_warp_scan> { };
{%- endmacro %}

{% macro general_case() -%}
template<unsigned int arch, typename key_type, typename value_type, typename enable = void>
struct default_trivial_runs_config : default_reduce_by_key_config_base<key_type, value_type>::type
{};
{%- endmacro %}

{% macro configuration_fallback(benchmark_of_architecture, based_on_type, fallback_selection_criteria) -%}
// Based on {{ based_on_type }}
template<typename key_type, typename value_type>
struct default_trivial_runs_config<
    static_cast<unsigned int>({{ benchmark_of_architecture.name }}),
    key_type,
    value_type,
    {{ fallback_selection_criteria }}> :
{%- endmacro %}