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
change
sglang
Commits
9602c2aa
"torchvision/vscode:/vscode.git/clone" did not exist on "8dcb5b810d85bd42edf73280db1ece38c487004c"
Unverified
Commit
9602c2aa
authored
Jan 31, 2025
by
Yineng Zhang
Committed by
GitHub
Jan 31, 2025
Browse files
keep the parts needed for moe_kernels (#3218)
parent
e81d7f11
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
138 additions
and
167 deletions
+138
-167
sgl-kernel/3rdparty/tensorrt_llm/common/stlUtils.h
sgl-kernel/3rdparty/tensorrt_llm/common/stlUtils.h
+0
-123
sgl-kernel/3rdparty/tensorrt_llm/common/stringUtils.h
sgl-kernel/3rdparty/tensorrt_llm/common/stringUtils.h
+113
-0
sgl-kernel/3rdparty/tensorrt_llm/common/timestampUtils.cpp
sgl-kernel/3rdparty/tensorrt_llm/common/timestampUtils.cpp
+0
-42
sgl-kernel/3rdparty/tensorrt_llm/common/tllmException.h
sgl-kernel/3rdparty/tensorrt_llm/common/tllmException.h
+25
-2
No files found.
sgl-kernel/3rdparty/tensorrt_llm/common/stlUtils.h
deleted
100644 → 0
View file @
e81d7f11
/*
* Copyright (c) 2021-2023, NVIDIA CORPORATION. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#include <functional>
#include <numeric>
#include <optional>
#include <sstream>
namespace
tensorrt_llm
::
common
::
stl_utils
{
template
<
typename
TInputIt
,
typename
TOutputIt
,
typename
TBinOp
>
constexpr
TOutputIt
basicInclusiveScan
(
TInputIt
first
,
TInputIt
last
,
TOutputIt
dFirst
,
TBinOp
op
)
{
if
(
first
!=
last
)
{
auto
val
=
*
first
;
while
(
true
)
{
*
dFirst
=
val
;
++
dFirst
;
++
first
;
if
(
first
==
last
)
{
break
;
}
val
=
op
(
std
::
move
(
val
),
*
first
);
}
}
return
dFirst
;
}
template
<
typename
TInputIt
,
typename
TOutputIt
>
constexpr
TOutputIt
inclusiveScan
(
TInputIt
first
,
TInputIt
last
,
TOutputIt
dFirst
)
{
#if defined(__GNUC__) && __GNUC__ <= 8
return
basicInclusiveScan
(
first
,
last
,
dFirst
,
std
::
plus
<>
{});
#else
return
std
::
inclusive_scan
(
first
,
last
,
dFirst
);
#endif
}
template
<
typename
TInputIt
,
typename
TOutputIt
,
typename
T
,
typename
TBinOp
>
constexpr
TOutputIt
basicExclusiveScan
(
TInputIt
first
,
TInputIt
last
,
TOutputIt
dFirst
,
T
init
,
TBinOp
op
)
{
if
(
first
!=
last
)
{
while
(
true
)
{
T
tmp
{
op
(
init
,
*
first
)};
*
dFirst
=
init
;
++
dFirst
;
++
first
;
if
(
first
==
last
)
{
break
;
}
init
=
std
::
move
(
tmp
);
}
}
return
dFirst
;
}
template
<
typename
TInputIt
,
typename
TOutputIt
,
typename
T
>
constexpr
TOutputIt
exclusiveScan
(
TInputIt
first
,
TInputIt
last
,
TOutputIt
dFirst
,
T
init
)
{
#if defined(__GNUC__) && __GNUC__ <= 8
return
basicExclusiveScan
(
first
,
last
,
dFirst
,
std
::
move
(
init
),
std
::
plus
<>
{});
#else
return
std
::
exclusive_scan
(
first
,
last
,
dFirst
,
std
::
move
(
init
));
#endif
}
template
<
typename
T
,
typename
=
void
>
struct
HasOperatorOutput
:
std
::
false_type
{
};
template
<
typename
T
>
struct
HasOperatorOutput
<
T
,
std
::
void_t
<
decltype
((
std
::
declval
<
std
::
ostream
&>
()
<<
std
::
declval
<
T
>
()))
>>
:
std
::
true_type
{
};
template
<
typename
T
>
std
::
string
toString
(
T
const
&
t
,
typename
std
::
enable_if_t
<
HasOperatorOutput
<
T
>::
value
,
int
>
=
0
)
{
std
::
ostringstream
oss
;
oss
<<
t
;
return
oss
.
str
();
}
template
<
typename
T
>
std
::
string
toString
(
std
::
optional
<
T
>
const
&
t
,
typename
std
::
enable_if_t
<
HasOperatorOutput
<
T
>::
value
,
int
>
=
0
)
{
std
::
ostringstream
oss
;
if
(
t
)
{
oss
<<
t
.
value
();
}
else
{
oss
<<
"None"
;
}
return
oss
.
str
();
}
}
// namespace tensorrt_llm::common::stl_utils
sgl-kernel/3rdparty/tensorrt_llm/common/stringUtils.h
0 → 100644
View file @
9602c2aa
/*
* Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#pragma once
#if ENABLE_BF16
#include <cuda_bf16.h>
#endif // ENABLE_BF16
#include <cuda_fp16.h>
#include <memory> // std::make_unique
#include <sstream> // std::stringstream
#include <string>
#include <unordered_set>
#include <vector>
namespace
tensorrt_llm
::
common
{
#if ENABLE_BF16
static
inline
std
::
basic_ostream
<
char
>&
operator
<<
(
std
::
basic_ostream
<
char
>&
stream
,
__nv_bfloat16
const
&
val
)
{
stream
<<
__bfloat162float
(
val
);
return
stream
;
}
#endif // ENABLE_BF16
static
inline
std
::
basic_ostream
<
char
>&
operator
<<
(
std
::
basic_ostream
<
char
>&
stream
,
__half
const
&
val
)
{
stream
<<
__half2float
(
val
);
return
stream
;
}
inline
std
::
string
fmtstr
(
std
::
string
const
&
s
)
{
return
s
;
}
inline
std
::
string
fmtstr
(
std
::
string
&&
s
)
{
return
s
;
}
#if defined(_MSC_VER)
std
::
string
fmtstr
(
char
const
*
format
,
...);
#else
std
::
string
fmtstr
(
char
const
*
format
,
...)
__attribute__
((
format
(
printf
,
1
,
2
)));
#endif
// __PRETTY_FUNCTION__ is used for neat debugging printing but is not supported on Windows
// The alternative is __FUNCSIG__, which is similar but not identical
#if defined(_WIN32)
#define __PRETTY_FUNCTION__ __FUNCSIG__
#endif
auto
constexpr
kDefaultDelimiter
=
", "
;
template
<
typename
U
,
typename
TStream
,
typename
T
>
inline
TStream
&
arr2outCasted
(
TStream
&
out
,
T
*
arr
,
size_t
size
,
char
const
*
delim
=
kDefaultDelimiter
)
{
out
<<
"("
;
if
(
size
>
0
)
{
for
(
size_t
i
=
0
;
i
<
size
-
1
;
++
i
)
{
out
<<
static_cast
<
U
>
(
arr
[
i
])
<<
delim
;
}
out
<<
static_cast
<
U
>
(
arr
[
size
-
1
]);
}
out
<<
")"
;
return
out
;
}
template
<
typename
TStream
,
typename
T
>
inline
TStream
&
arr2out
(
TStream
&
out
,
T
*
arr
,
size_t
size
,
char
const
*
delim
=
kDefaultDelimiter
)
{
return
arr2outCasted
<
T
>
(
out
,
arr
,
size
,
delim
);
}
template
<
typename
T
>
inline
std
::
string
arr2str
(
T
*
arr
,
size_t
size
,
char
const
*
delim
=
kDefaultDelimiter
)
{
std
::
stringstream
ss
;
return
arr2out
(
ss
,
arr
,
size
,
delim
).
str
();
}
template
<
typename
T
>
inline
std
::
string
vec2str
(
std
::
vector
<
T
>
const
&
vec
,
char
const
*
delim
=
kDefaultDelimiter
)
{
return
arr2str
(
vec
.
data
(),
vec
.
size
(),
delim
);
}
inline
bool
strStartsWith
(
std
::
string
const
&
str
,
std
::
string
const
&
prefix
)
{
return
str
.
rfind
(
prefix
,
0
)
==
0
;
}
/// @brief Split a string into a set of strings using a delimiter
std
::
unordered_set
<
std
::
string
>
str2set
(
std
::
string
const
&
input
,
char
delimiter
);
}
// namespace tensorrt_llm::common
sgl-kernel/3rdparty/tensorrt_llm/common/timestampUtils.cpp
deleted
100644 → 0
View file @
e81d7f11
/*
* Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <chrono>
#include <iomanip>
#include <sstream>
#include "tensorrt_llm/common/timestampUtils.h"
namespace
tensorrt_llm
::
common
{
std
::
string
getCurrentTimestamp
()
{
auto
now
=
std
::
chrono
::
system_clock
::
now
();
auto
now_t
=
std
::
chrono
::
system_clock
::
to_time_t
(
now
);
auto
tm
=
*
std
::
localtime
(
&
now_t
);
auto
epoch_to_now
=
now
.
time_since_epoch
();
auto
seconds
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
seconds
>
(
epoch_to_now
);
auto
us
=
std
::
chrono
::
duration_cast
<
std
::
chrono
::
microseconds
>
(
epoch_to_now
-
seconds
);
std
::
ostringstream
stream
;
stream
<<
std
::
put_time
(
&
tm
,
"%m-%d-%Y %H:%M:%S"
);
stream
<<
"."
<<
std
::
setfill
(
'0'
)
<<
std
::
setw
(
6
)
<<
us
.
count
();
return
stream
.
str
();
}
}
// namespace tensorrt_llm::common
sgl-kernel/3rdparty/tensorrt_llm/common/t
imestampUtils
.h
→
sgl-kernel/3rdparty/tensorrt_llm/common/t
llmException
.h
View file @
9602c2aa
...
@@ -14,12 +14,35 @@
...
@@ -14,12 +14,35 @@
* limitations under the License.
* limitations under the License.
*/
*/
#pragma once
#include <array>
#include <cstddef>
#include <stdexcept>
#include <string>
#include <string>
#define NEW_TLLM_EXCEPTION(...) \
tensorrt_llm::common::TllmException(__FILE__, __LINE__, tensorrt_llm::common::fmtstr(__VA_ARGS__))
namespace
tensorrt_llm
::
common
namespace
tensorrt_llm
::
common
{
{
/// @brief Get the current timestamp in the format "MM-DD-YYYY HH:MM:SS:uuuuuu"
class
TllmException
:
public
std
::
runtime_error
std
::
string
getCurrentTimestamp
();
{
public:
static
auto
constexpr
MAX_FRAMES
=
128
;
explicit
TllmException
(
char
const
*
file
,
std
::
size_t
line
,
std
::
string
const
&
msg
);
~
TllmException
()
noexcept
override
;
[[
nodiscard
]]
std
::
string
getTrace
()
const
;
static
std
::
string
demangle
(
char
const
*
name
);
private:
std
::
array
<
void
*
,
MAX_FRAMES
>
mCallstack
{};
int
mNbFrames
;
};
}
// namespace tensorrt_llm::common
}
// namespace tensorrt_llm::common
Prev
1
2
Next
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