mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Headers under torch/csrc/distributed may be referened with relative path, e.g., "<c10d/...>". However, relative path cannot be gracefully handled by Meta internal build when the NCCL PG is hipified to support AMD/RCCL because the "hipified" header files are generated in other directories. Moreover, using absolute path for header inclusion is the state-of-the-art in most components in Pytorch. Thus, this patch refactors all header paths in torch/csrc/distributed to be absolute. See D39835774 for more details about Meta internal complication. **How to test**: commit 9e5d199 removes -I./torch/csrc/distributed in compile options. Thus use it to verify we don't miss any relative path use of torch/csrc/distributed headers. Pull Request resolved: https://github.com/pytorch/pytorch/pull/85780 Approved by: https://github.com/kumpera, https://github.com/huydhn
46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <torch/csrc/distributed/c10d/Store.hpp>
|
|
#include "TestUtils.hpp"
|
|
|
|
#include <gtest/gtest.h>
|
|
|
|
namespace c10d {
|
|
namespace test {
|
|
|
|
inline void set(
|
|
Store& store,
|
|
const std::string& key,
|
|
const std::string& value) {
|
|
std::vector<uint8_t> data(value.begin(), value.end());
|
|
store.set(key, data);
|
|
}
|
|
|
|
inline std::vector<uint8_t> compareSet(
|
|
Store& store,
|
|
const std::string& key,
|
|
const std::string& expectedValue,
|
|
const std::string& desiredValue) {
|
|
std::vector<uint8_t> expectedData(expectedValue.begin(), expectedValue.end());
|
|
std::vector<uint8_t> desiredData(desiredValue.begin(), desiredValue.end());
|
|
return store.compareSet(key, expectedData, desiredData);
|
|
}
|
|
|
|
inline void check(
|
|
Store& store,
|
|
const std::string& key,
|
|
const std::string& expected) {
|
|
auto tmp = store.get(key);
|
|
auto actual = std::string((const char*)tmp.data(), tmp.size());
|
|
EXPECT_EQ(actual, expected);
|
|
}
|
|
|
|
inline void deleteKey(
|
|
Store& store,
|
|
const std::string& key) {
|
|
store.deleteKey(key);
|
|
}
|
|
|
|
} // namespace test
|
|
} // namespace c10d
|