Merge pull request #1140 from scchan/program_state_stage_2-rebase-20190524

migrate more program_state logic from header into shared library (phase II)
This commit is contained in:
Maneesh Gupta
2019-06-05 16:09:01 +05:30
committed by GitHub
8 changed files with 309 additions and 269 deletions
+29
View File
@@ -27,12 +27,36 @@
#include <cstdio>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
#include <sstream>
#include <unordered_map>
#include <utility>
#include <vector>
namespace std {
template<>
struct hash<hsa_agent_t> {
size_t operator()(hsa_agent_t x) const {
return hash<decltype(x.handle)>{}(x.handle);
}
};
template<>
struct hash<hsa_isa_t> {
size_t operator()(hsa_isa_t x) const {
return hash<decltype(x.handle)>{}(x.handle);
}
};
} // namespace std
inline constexpr bool operator==(hsa_agent_t x, hsa_agent_t y) {
return x.handle == y.handle;
}
inline constexpr bool operator==(hsa_isa_t x, hsa_isa_t y) {
return x.handle == y.handle;
}
namespace hip_impl {
[[noreturn]]
@@ -801,4 +825,9 @@ public:
}
}; // class program_state_impl
struct kernarg_impl {
std::vector<std::uint8_t> v;
};
};