This contains my bachelors thesis and associated tex files, code snippets and maybe more. Topic: Data Movement in Heterogeneous Memories with Intel Data Streaming Accelerator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

54 lines
1.4 KiB

#include <dml/dml.hpp>
#include <vector>
#include <iostream>
#include "error.hpp"
#include "execute-move.hpp"
template <typename path>
int testrunner() {
std::vector<ThreadArgs> args;
ThreadArgs a;
a.core = 0;
a.numa_node = 0;
a.size = 4096;
a.nnode_dst = 0;
a.nnode_src = 0;
args.emplace_back(a);
execute_mem_move<path>(args);
const auto status = args.front().status.front();
std::cout << "Operation Result Status: " << status << std::endl;
return 0;
}
int main(int argc, char **argv) {
if (argc < 2) {
std::cout << "Missing the execution path as the first parameter. Use hardware_path, software_path or automatic_path." << std::endl;
return 1;
}
const std::string path = argv[1];
if (path == "hardware_path") {
std::cout << "Executing using dml::hardware path" << std::endl;
return testrunner<dml::hardware>();
}
else if (path == "software_path") {
std::cout << "Executing using dml::software path" << std::endl;
return testrunner<dml::software>();
}
else if (path == "auto_path") {
std::cout << "Executing using dml::automatic path" << std::endl;
return testrunner<dml::automatic>();
}
else {
std::cout << "Unrecognized value for parameter. Use hardware_path, software_path or automatic_path." << std::endl;
return 1;
}
}