16 #include <boost/program_options.hpp>
17 #include <boost/type_erasure/any_cast.hpp>
19 namespace po = boost::program_options;
22 po::options_description optionsDescription(
"Allowed options");
23 optionsDescription.add_options()(
"help,h",
"Print usage message.")(
24 "FILE,f", po::value<std::string>()->default_value(
""),
25 "Provide path for input file.")(
26 "NUM,n", po::value<unsigned int>()->default_value(500),
27 "Number of groups to iterate in seed finding.")(
28 "DEVICE,d", po::value<std::string>()->default_value(
""),
29 "Provide a substring of the preferred device.")(
30 "LIST,l",
"List available SYCL platforms and devices.")(
31 "GPU,G", po::bool_switch(),
"Execute code only on gpu. Default is 0.")(
32 "ALL,a", po::bool_switch(),
"Analyze all groups. Default is 0.")(
33 "MATCH,m", po::bool_switch(),
"Count seed matches. Default is 0.")(
34 "CSV,c", po::bool_switch(),
"Output results in csv format");
37 po::store(po::parse_command_line(argc, argv, optionsDescription), vm);
40 if (vm.count(
"help") != 0) {
41 std::cout << optionsDescription <<
"\n";
45 if (vm.count(
"LIST") != 0) {
51 matches = vm[
"MATCH"].as<
bool>();
52 groups = vm[
"NUM"].as<
unsigned int>();
57 std::ifstream
s(inpFileName);