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: usize
gpu_morsel_bytes: usize
device_id: u16
Execute on GPU (See CUDA device list)
threads: usize
cpu_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
sourceimpl StructOpt for CmdOpt
impl StructOpt for CmdOpt
sourcefn from_clap(matches: &ArgMatches<'_>) -> Self
fn from_clap(matches: &ArgMatches<'_>) -> Self
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
fn from_args() -> Self
fn from_args() -> Self
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
fn from_args_safe() -> Result<Self, Error>
fn from_args_safe() -> Result<Self, Error>
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
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
fn from_iter<I>(iter: I) -> Self where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
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
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
fn from_iter_safe<I>(iter: I) -> Result<Self, Error> where
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString>,
<I as IntoIterator>::Item: Clone,
Gets the struct from any iterator such as a Vec
of your making. Read more
Auto Trait Implementations
impl RefUnwindSafe for CmdOpt
impl Send for CmdOpt
impl Sync for CmdOpt
impl Unpin for CmdOpt
impl UnwindSafe for CmdOpt
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more