Add main entry for unit test files and replace memalign by posix_memalign

avx_docs
liaogang 9 years ago
parent 38166e29d7
commit 58f74e2ca1

@ -48,14 +48,10 @@ public:
* @return Pointer to the allocated memory
*/
virtual void* alloc(size_t size) {
#if defined(__APPLE__) || defined(__OSX__)
return malloc(size);
#else
void* ptr;
posix_memalign(&ptr, 32ul, size);
CHECK(ptr) << "Fail to allocate CPU memory: size=" << size;
return ptr;
#endif
}
/**

@ -24,7 +24,7 @@ limitations under the License. */
#include <algorithm>
#include <memory>
#include <malloc.h>
#include <stdlib.h>
#include <time.h>
static constexpr size_t VECTOR_LEN = 3072;
@ -37,7 +37,9 @@ static std::mt19937 RandomEngine(time(0));
inline static std::unique_ptr<float[]> NewVector(size_t len = VECTOR_LEN,
size_t align = ALIGN) {
return std::unique_ptr<float[]>((float*)memalign(align, len * sizeof(float)));
float* ptr;
posix_memalign((void**)&ptr, align, len * sizeof(float));
return std::unique_ptr<float[]>(ptr);
}
inline static std::unique_ptr<float[]> NewRandomVector(size_t len = VECTOR_LEN,

@ -249,4 +249,9 @@ TEST_F(PerturbationTest, scale_test) {
}
}
int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
#endif

@ -13,7 +13,7 @@ See the License for the specific language governing permissions and
limitations under the License. */
#include <malloc.h>
#include <stdlib.h>
#include <paddle/utils/Util.h>
#include <gtest/gtest.h>
@ -124,9 +124,11 @@ void CommonTest::test_sgdUpadate(real* gradientBuffer, real* valueBuffer,
TEST_F(CommonTest, sgdUpdate) {
const size_t alignHeader[] = {0, 2, 3, 5, 7, 8};
for (auto& size : sizeVec_) {
real* gradientBuffer = (real*)memalign(32, sizeof(real) * size);
real* valueBuffer = (real*)memalign(32, sizeof(real) * size);
real* momentumBuffer = (real*)memalign(32, sizeof(real) * size);
real *gradientBuffer, *valueBuffer, *momentumBuffer;
posix_memalign((void**)&gradientBuffer, 32, sizeof(real) * size);
posix_memalign((void**)&valueBuffer, 32, sizeof(real) * size);
posix_memalign((void**)&momentumBuffer, 32, sizeof(real) * size);
for (size_t i = 0; i < size; i++) {
gradientBuffer[i] = 1.0;
valueBuffer[i] = 2.0;

@ -22,3 +22,8 @@ TEST(StringUtil, to) {
ASSERT_DEATH(paddle::str::to<double>("12.45x23"), ".*");
ASSERT_DEATH(paddle::str::to<int>(""), ".*");
}
int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

Loading…
Cancel
Save