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
jerrrrry
infinicore
Commits
aebdbba3
Unverified
Commit
aebdbba3
authored
Apr 22, 2025
by
PanZezhong1725
Committed by
GitHub
Apr 22, 2025
Browse files
Revert "添加swiglu算子测例"
parent
721df4f3
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
312 deletions
+0
-312
src/infiniop-test/include/ops.hpp
src/infiniop-test/include/ops.hpp
+0
-2
src/infiniop-test/src/ops/swiglu.cpp
src/infiniop-test/src/ops/swiglu.cpp
+0
-92
test/infiniop-test/test_generate/testcases/swiglu.py
test/infiniop-test/test_generate/testcases/swiglu.py
+0
-218
No files found.
src/infiniop-test/include/ops.hpp
View file @
aebdbba3
...
...
@@ -7,7 +7,6 @@
*/
DECLARE_INFINIOP_TEST
(
gemm
)
DECLARE_INFINIOP_TEST
(
random_sample
)
DECLARE_INFINIOP_TEST
(
swiglu
)
#define REGISTER_INFINIOP_TEST(name) \
{ \
...
...
@@ -25,7 +24,6 @@ DECLARE_INFINIOP_TEST(swiglu)
{ \
REGISTER_INFINIOP_TEST(gemm) \
REGISTER_INFINIOP_TEST(random_sample) \
REGISTER_INFINIOP_TEST(swiglu) \
}
namespace
infiniop_test
{
...
...
src/infiniop-test/src/ops/swiglu.cpp
deleted
100644 → 0
View file @
721df4f3
#include "ops.hpp"
#include "utils.hpp"
#include <infinirt.h>
#include <iomanip>
#include <iostream>
namespace
infiniop_test
::
swiglu
{
struct
Test
::
Attributes
{
std
::
shared_ptr
<
Tensor
>
a
;
std
::
shared_ptr
<
Tensor
>
b
;
std
::
shared_ptr
<
Tensor
>
ans
;
std
::
shared_ptr
<
Tensor
>
c
;
};
std
::
shared_ptr
<
Test
>
Test
::
build
(
std
::
unordered_map
<
std
::
string
,
std
::
vector
<
uint8_t
>>
attributes
,
std
::
unordered_map
<
std
::
string
,
std
::
shared_ptr
<
Tensor
>>
tensors
,
double
rtol
,
double
atol
)
{
auto
test
=
std
::
shared_ptr
<
Test
>
(
new
Test
(
rtol
,
atol
));
test
->
_attributes
=
new
Attributes
();
if
(
tensors
.
find
(
"a"
)
==
tensors
.
end
()
||
tensors
.
find
(
"b"
)
==
tensors
.
end
()
||
tensors
.
find
(
"c"
)
==
tensors
.
end
()
||
tensors
.
find
(
"ans"
)
==
tensors
.
end
())
{
throw
std
::
runtime_error
(
"Invalid Test"
);
}
test
->
_attributes
->
a
=
tensors
[
"a"
];
test
->
_attributes
->
b
=
tensors
[
"b"
];
test
->
_attributes
->
c
=
tensors
[
"c"
];
test
->
_attributes
->
ans
=
tensors
[
"ans"
];
return
test
;
}
std
::
shared_ptr
<
infiniop_test
::
Result
>
Test
::
run
(
infiniopHandle_t
handle
,
infiniDevice_t
device
,
int
device_id
,
size_t
warm_ups
,
size_t
iterations
)
{
infiniopSwiGLUDescriptor_t
op_desc
;
auto
a
=
_attributes
->
a
->
to
(
device
,
device_id
);
auto
b
=
_attributes
->
b
->
to
(
device
,
device_id
);
auto
c
=
_attributes
->
c
->
to
(
device
,
device_id
);
CHECK_OR
(
infiniopCreateSwiGLUDescriptor
(
handle
,
&
op_desc
,
c
->
desc
(),
a
->
desc
(),
b
->
desc
()),
return
TEST_FAILED
(
OP_CREATION_FAILED
,
"Failed to create op descriptor."
));
CHECK_OR
(
infiniopSwiGLU
(
op_desc
,
c
->
data
(),
a
->
data
(),
b
->
data
(),
nullptr
),
return
TEST_FAILED
(
OP_CREATION_FAILED
,
"Failed during execution."
));
try
{
allClose
(
c
,
_attributes
->
ans
,
_rtol
,
_atol
);
}
catch
(
const
std
::
exception
&
e
)
{
return
TEST_FAILED
(
RESULT_INCORRECT
,
e
.
what
());
}
double
elapsed_time
=
0.
;
elapsed_time
=
benchmark
(
[
=
]()
{
infiniopSwiGLU
(
op_desc
,
c
->
data
(),
a
->
data
(),
b
->
data
(),
nullptr
);
},
warm_ups
,
iterations
);
return
TEST_PASSED
(
elapsed_time
);
}
std
::
vector
<
std
::
string
>
Test
::
attribute_names
()
{
return
{};
}
std
::
vector
<
std
::
string
>
Test
::
tensor_names
()
{
return
{
"a"
,
"b"
,
"c"
,
"ans"
};
}
std
::
string
Test
::
toString
()
const
{
std
::
ostringstream
oss
;
oss
<<
op_name
()
<<
std
::
endl
;
oss
<<
"- a: "
<<
_attributes
->
a
->
info
()
<<
std
::
endl
;
oss
<<
"- b: "
<<
_attributes
->
b
->
info
()
<<
std
::
endl
;
oss
<<
"- c: "
<<
_attributes
->
c
->
info
()
<<
std
::
endl
;
oss
<<
std
::
scientific
<<
std
::
setprecision
(
2
);
oss
<<
"- rtol="
<<
_rtol
<<
", atol="
<<
_atol
<<
std
::
endl
;
return
oss
.
str
();
}
Test
::~
Test
()
{
delete
_attributes
;
}
}
// namespace infiniop_test::swiglu
test/infiniop-test/test_generate/testcases/swiglu.py
deleted
100644 → 0
View file @
721df4f3
import
numpy
as
np
import
gguf
from
typing
import
List
from
..
import
InfiniopTestWriter
,
InfiniopTestCase
,
np_dtype_to_ggml
,
gguf_strides
def
swiglu
(
a
:
np
.
ndarray
,
b
:
np
.
ndarray
,
):
c
=
a
*
b
/
(
1.0
+
np
.
exp
(
-
b
))
return
c
class
SwiGLUTestCase
(
InfiniopTestCase
):
def
__init__
(
self
,
a
:
np
.
ndarray
,
stride_a
:
List
[
int
]
|
None
,
b
:
np
.
ndarray
,
stride_b
:
List
[
int
]
|
None
,
c
:
np
.
ndarray
,
stride_c
:
List
[
int
]
|
None
,
):
super
().
__init__
(
"swiglu"
)
self
.
a
=
a
self
.
stride_a
=
stride_a
self
.
b
=
b
self
.
stride_b
=
stride_b
self
.
c
=
c
self
.
stride_c
=
stride_c
def
write_test
(
self
,
test_writer
:
"InfiniopTestWriter"
):
super
().
write_test
(
test_writer
)
if
self
.
stride_a
is
not
None
:
test_writer
.
add_array
(
test_writer
.
gguf_key
(
"a.strides"
),
self
.
stride_a
)
if
self
.
stride_b
is
not
None
:
test_writer
.
add_array
(
test_writer
.
gguf_key
(
"b.strides"
),
self
.
stride_b
)
if
self
.
stride_c
is
not
None
:
test_writer
.
add_array
(
test_writer
.
gguf_key
(
"c.strides"
),
self
.
stride_c
)
test_writer
.
add_tensor
(
test_writer
.
gguf_key
(
"a"
),
self
.
a
,
raw_dtype
=
np_dtype_to_ggml
(
self
.
a
.
dtype
)
)
test_writer
.
add_tensor
(
test_writer
.
gguf_key
(
"b"
),
self
.
b
,
raw_dtype
=
np_dtype_to_ggml
(
self
.
b
.
dtype
)
)
test_writer
.
add_tensor
(
test_writer
.
gguf_key
(
"c"
),
self
.
c
,
raw_dtype
=
np_dtype_to_ggml
(
self
.
c
.
dtype
)
)
ans
=
swiglu
(
self
.
a
.
astype
(
np
.
float64
),
self
.
b
.
astype
(
np
.
float64
),
)
test_writer
.
add_tensor
(
test_writer
.
gguf_key
(
"ans"
),
ans
,
raw_dtype
=
gguf
.
GGMLQuantizationType
.
F64
)
if
__name__
==
"__main__"
:
test_writer
=
InfiniopTestWriter
(
"swiglu.gguf"
)
test_cases
=
[
SwiGLUTestCase
(
np
.
random
.
rand
(
64
,
128
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
64
,
128
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
64
,
128
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
64
,
121
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
64
,
121
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
64
,
121
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
15
,
512
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
15
,
512
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
15
,
512
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
10
,
1
),
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
10
,
1
),
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
10
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
10
,
1
),
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
10
,
1
),
np
.
random
.
rand
(
13
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
10
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
20
,
4
,
1
),
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
20
,
4
,
1
),
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float32
),
gguf_strides
(
20
,
4
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
20
,
4
,
1
),
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
20
,
4
,
1
),
np
.
random
.
rand
(
13
,
4
,
4
).
astype
(
np
.
float16
),
gguf_strides
(
20
,
4
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
13312
,
1
),
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
13312
,
1
),
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
13312
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
13312
,
1
),
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
13312
,
1
),
np
.
random
.
rand
(
16
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
13312
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
None
,
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
None
,
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
None
,
),
SwiGLUTestCase
(
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
45056
,
5632
,
1
),
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
45056
,
5632
,
1
),
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float32
),
gguf_strides
(
45056
,
5632
,
1
),
),
SwiGLUTestCase
(
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
45056
,
5632
,
1
),
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
45056
,
5632
,
1
),
np
.
random
.
rand
(
4
,
4
,
5632
).
astype
(
np
.
float16
),
gguf_strides
(
45056
,
5632
,
1
),
),
]
test_writer
.
add_tests
(
test_cases
)
test_writer
.
save
()
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