Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
composable_kernel
Commits
3d747cb3
Commit
3d747cb3
authored
Aug 18, 2022
by
Adam Osewski
Browse files
Add unit-tests for int4
parent
6f26696f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
0 deletions
+52
-0
cmake/googletest.cmake
cmake/googletest.cmake
+5
-0
test/CMakeLists.txt
test/CMakeLists.txt
+1
-0
test/data_type/CMakeLists.txt
test/data_type/CMakeLists.txt
+2
-0
test/data_type/int4.cpp
test/data_type/int4.cpp
+44
-0
No files found.
cmake/googletest.cmake
View file @
3d747cb3
...
...
@@ -42,3 +42,8 @@ target_compile_options(gtest PRIVATE ${GTEST_CMAKE_CXX_FLAGS})
target_compile_options
(
gtest_main PRIVATE
${
GTEST_CMAKE_CXX_FLAGS
}
)
target_compile_options
(
gmock PRIVATE
${
GTEST_CMAKE_CXX_FLAGS
}
)
target_compile_options
(
gmock_main PRIVATE
${
GTEST_CMAKE_CXX_FLAGS
}
)
set_target_properties
(
gtest PROPERTIES POSITION_INDEPENDENT_CODE ON
)
set_target_properties
(
gtest_main PROPERTIES POSITION_INDEPENDENT_CODE ON
)
set_target_properties
(
gmock PROPERTIES POSITION_INDEPENDENT_CODE ON
)
set_target_properties
(
gmock_main PROPERTIES POSITION_INDEPENDENT_CODE ON
)
test/CMakeLists.txt
View file @
3d747cb3
...
...
@@ -51,3 +51,4 @@ add_subdirectory(grouped_convnd_fwd)
add_subdirectory
(
block_to_ctile_map
)
add_subdirectory
(
softmax
)
add_subdirectory
(
layernorm
)
add_subdirectory
(
data_type
)
test/data_type/CMakeLists.txt
0 → 100644
View file @
3d747cb3
add_gtest_executable
(
test_int4 int4.cpp
)
target_link_libraries
(
test_int4 PRIVATE utility
)
test/data_type/int4.cpp
0 → 100644
View file @
3d747cb3
// SPDX-License-Identifier: MIT
// Copyright (c) 2018-2022, Advanced Micro Devices, Inc. All rights reserved.
#include "gtest/gtest.h"
#include "ck/utility/data_type.hpp"
#include "ck/utility/math_v2.hpp"
using
ck
::
int4_t
;
TEST
(
Int4
,
BaseArithmetic
)
{
int4_t
a
{
1
};
int4_t
b
{
-
2
};
EXPECT_EQ
(
a
+
a
,
int4_t
{
2
});
EXPECT_EQ
(
a
-
a
,
int4_t
{
0
});
EXPECT_EQ
(
a
+
b
,
int4_t
{
-
1
});
EXPECT_EQ
(
a
-
b
,
int4_t
{
3
});
EXPECT_EQ
(
a
*
a
,
int4_t
{
1
});
EXPECT_EQ
(
a
*
b
,
int4_t
{
-
2
});
EXPECT_EQ
(
b
*
b
,
int4_t
{
4
});
EXPECT_EQ
(
a
/
b
,
int4_t
{
0
});
a
=
int4_t
{
4
};
EXPECT_EQ
(
a
/
b
,
int4_t
{
-
2
});
b
=
int4_t
{
2
};
EXPECT_EQ
(
a
%
b
,
int4_t
{
0
});
}
TEST
(
Int4
,
NumericLimits
)
{
EXPECT_EQ
(
ck
::
NumericLimits
<
int4_t
>::
Min
(),
int4_t
{
-
7
});
EXPECT_EQ
(
ck
::
NumericLimits
<
int4_t
>::
Max
(),
int4_t
{
7
});
EXPECT_EQ
(
ck
::
NumericLimits
<
int4_t
>::
Lowest
(),
int4_t
{
-
7
});
}
TEST
(
Int4
,
MathOpsV2
)
{
int4_t
a
{
4
};
int4_t
b
{
-
5
};
EXPECT_EQ
(
ck
::
math
::
abs
(
a
),
int4_t
{
4
});
EXPECT_EQ
(
ck
::
math
::
abs
(
b
),
int4_t
{
5
});
EXPECT_FALSE
(
ck
::
math
::
isnan
(
b
));
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment