pub(crate) struct CmdOpt {
Show 31 fields pub(crate) repeat: u32, pub(crate) csv: Option<PathBuf>, pub(crate) mem_type: ArgMemType, pub(crate) hashing_scheme: ArgHashingScheme, pub(crate) hash_table_mem_type: ArgMemType, pub(crate) hash_table_location: Vec<u16>, pub(crate) hash_table_proportions: Vec<usize>, pub(crate) max_hash_table_cache_size: Option<usize>, pub(crate) spill_hash_table: Option<bool>, pub(crate) inner_rel_location: u16, pub(crate) outer_rel_location: u16, pub(crate) page_type: ArgPageType, pub(crate) data_set: ArgDataSet, pub(crate) data_distribution: ArgDataDistribution, pub(crate) zipf_exponent: Option<f64>, pub(crate) selectivity: u32, pub(crate) inner_rel_file: Option<PathBuf>, pub(crate) outer_rel_file: Option<PathBuf>, pub(crate) tuple_bytes: ArgTupleBytes, pub(crate) inner_rel_tuples: Option<usize>, pub(crate) outer_rel_tuples: Option<usize>, pub(crate) execution_method: ArgExecutionMethod, pub(crate) transfer_strategy: ArgTransferStrategy, pub(crate) cpu_morsel_bytes: usize, pub(crate) gpu_morsel_bytes: usize, pub(crate) device_id: u16, pub(crate) threads: usize, pub(crate) cpu_affinity: Option<PathBuf>, pub(crate) gpu_affinity: Option<PathBuf>, pub(crate) grid_size: Option<u32>, pub(crate) block_size: Option<u32>,
}

Fields

repeat: u32

Number of times to repeat benchmark

csv: Option<PathBuf>

Output filename for measurement CSV file

mem_type: ArgMemType

Memory type with which to allocate data.

hashing_scheme: ArgHashingScheme

Hashing scheme to use in hash table.

hash_table_mem_type: ArgMemType

Memory type with which to allocate hash table.

hash_table_location: Vec<u16>

Allocate memory for hash table on NUMA nodes (e.g.: 0,1,2) or GPU (See numactl -H and CUDA device list)

hash_table_proportions: Vec<usize>

Proportions with with the hash table is allocate on multiple nodes in percent (e.g.: 20,60,20)

max_hash_table_cache_size: Option<usize>

Device memory used to cache hash table (upper limit, in MiB) [Default: All device memory]

spill_hash_table: Option<bool>

Cache the hash table in GPU memory and spill to the nearest CPU memory node

This option only works with NVLink 2.0, and sets --hash-table-mem-type DistributedNuma

inner_rel_location: u16

Allocate memory for inner relation on CPU or GPU (See numactl -H and CUDA device list)

outer_rel_location: u16

Allocate memory for outer relation on CPU or GPU (See numactl -H and CUDA device list)

page_type: ArgPageType

Page type with with to allocate memory

data_set: ArgDataSet

Use a pre-defined or custom data set.

data_distribution: ArgDataDistribution

Outer relation’s data distribution

zipf_exponent: Option<f64>

Zipf exponent for Zipf-sampled outer relations

selectivity: u32

Selectivity of the join, in percent

inner_rel_file: Option<PathBuf>

Load data set from a TSV file with “key value” pairs and automatic gzip decompression

outer_rel_file: Option<PathBuf>

Load data set from a TSV file with “key value” pairs and automatic gzip decompression

tuple_bytes: ArgTupleBytes

Set the tuple size (bytes)

inner_rel_tuples: Option<usize>

Set the inner relation size (tuples); required for -data-set Custom

outer_rel_tuples: Option<usize>

Set the outer relation size (tuples); required for --data-set Custom

execution_method: ArgExecutionMethod

Execute on device(s) with in-place or streaming-transfer method.

transfer_strategy: ArgTransferStrategy

Stream data to device using the transfer strategy.

cpu_morsel_bytes: usizegpu_morsel_bytes: usizedevice_id: u16

Execute on GPU (See CUDA device list)

threads: usizecpu_affinity: Option<PathBuf>

Path to CPU affinity map file for CPU workers

gpu_affinity: Option<PathBuf>

Path to CPU affinity map file for GPU workers

grid_size: Option<u32>

The CUDA grid size [Default: all SMs]

block_size: Option<u32>

The CUDA block size [Default: 1024]

Implementations

Trait Implementations

Returns clap::App corresponding to the struct.

Builds the struct from clap::ArgMatches. It’s guaranteed to succeed if matches originates from an App generated by [StructOpt::clap] called on the same type, otherwise it must panic. Read more

Builds the struct from the command line arguments (std::env::args_os). Calls clap::Error::exit on failure, printing the error message and aborting the program. Read more

Builds the struct from the command line arguments (std::env::args_os). Unlike [StructOpt::from_args], returns clap::Error on failure instead of aborting the program, so calling .exit is up to you. Read more

Gets the struct from any iterator such as a Vec of your making. Print the error message and quit the program in case of failure. Read more

Gets the struct from any iterator such as a Vec of your making. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.