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.
|
|
#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; } }
|