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
MIGraphX
Commits
9e6d866d
Commit
9e6d866d
authored
Nov 17, 2023
by
Umang Yadav
Browse files
Merge branch 'ref_fp8' of github.com:ROCmSoftwarePlatform/AMDMIGraphX into ref_fp8
parents
017d67e2
38064274
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
37 additions
and
5 deletions
+37
-5
src/dynamic_loader.cpp
src/dynamic_loader.cpp
+24
-0
src/include/migraphx/dynamic_loader.hpp
src/include/migraphx/dynamic_loader.hpp
+0
-3
src/targets/gpu/compile_hip.cpp
src/targets/gpu/compile_hip.cpp
+13
-2
No files found.
src/dynamic_loader.cpp
View file @
9e6d866d
...
@@ -130,6 +130,30 @@ struct dynamic_loader_impl
...
@@ -130,6 +130,30 @@ struct dynamic_loader_impl
tmp_dir
temp
;
tmp_dir
temp
;
};
};
fs
::
path
dynamic_loader
::
path
(
void
*
address
)
{
HMODULE
module
=
nullptr
;
if
(
GetModuleHandleEx
(
GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS
|
GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT
,
static_cast
<
LPCSTR
>
(
address
),
&
module
)
==
0
)
{
auto
err
=
GetLastError
();
MIGRAPHX_THROW
(
"Unable to obtain module handle, error = "
+
std
::
to_string
(
err
));
}
TCHAR
buffer
[
MAX_PATH
];
if
(
GetModuleFileName
(
module
,
buffer
,
sizeof
(
buffer
))
==
0
)
{
auto
err
=
GetLastError
();
MIGRAPHX_THROW
(
"Unable to read module file path, error = "
+
std
::
to_string
(
err
));
}
if
(
GetLastError
()
==
ERROR_INSUFFICIENT_BUFFER
)
{
MIGRAPHX_THROW
(
"Buffer too small ("
+
std
::
to_string
(
MAX_PATH
)
+
") to hold the path"
);
}
return
{
buffer
};
}
#endif
#endif
optional
<
dynamic_loader
>
dynamic_loader
::
try_load
(
const
fs
::
path
&
p
)
optional
<
dynamic_loader
>
dynamic_loader
::
try_load
(
const
fs
::
path
&
p
)
...
...
src/include/migraphx/dynamic_loader.hpp
View file @
9e6d866d
...
@@ -38,15 +38,12 @@ struct dynamic_loader_impl;
...
@@ -38,15 +38,12 @@ struct dynamic_loader_impl;
struct
MIGRAPHX_EXPORT
dynamic_loader
struct
MIGRAPHX_EXPORT
dynamic_loader
{
{
#ifndef _WIN32
template
<
class
T
>
template
<
class
T
>
static
fs
::
path
path
(
T
*
address
)
static
fs
::
path
path
(
T
*
address
)
{
{
return
path
(
reinterpret_cast
<
void
*>
(
address
));
return
path
(
reinterpret_cast
<
void
*>
(
address
));
}
}
static
fs
::
path
path
(
void
*
address
);
static
fs
::
path
path
(
void
*
address
);
#endif
static
optional
<
dynamic_loader
>
try_load
(
const
fs
::
path
&
p
);
static
optional
<
dynamic_loader
>
try_load
(
const
fs
::
path
&
p
);
dynamic_loader
()
=
default
;
dynamic_loader
()
=
default
;
...
...
src/targets/gpu/compile_hip.cpp
View file @
9e6d866d
...
@@ -251,10 +251,21 @@ compile_hip_src(const std::vector<src_file>& srcs, std::string params, const std
...
@@ -251,10 +251,21 @@ compile_hip_src(const std::vector<src_file>& srcs, std::string params, const std
std
::
cout
<<
std
::
string
(
src
.
content
)
<<
std
::
endl
;
std
::
cout
<<
std
::
string
(
src
.
content
)
<<
std
::
endl
;
}
}
}
}
auto
fname
=
fs
::
path
{
"migraphx-hiprtc-driver"
};
#ifdef _WIN32
fname
.
replace_extension
(
".exe"
);
#endif
auto
p
=
dynamic_loader
::
path
(
&
compile_hip_src_with_hiprtc
);
auto
p
=
dynamic_loader
::
path
(
&
compile_hip_src_with_hiprtc
);
auto
driver
=
p
.
parent_path
().
parent_path
()
/
"bin"
/
"migraphx-hiprtc-driver"
;
auto
driver
=
p
.
parent_path
()
/
fname
;
bool
found
=
fs
::
exists
(
driver
);
if
(
not
found
)
{
driver
=
p
.
parent_path
().
parent_path
()
/
"bin"
/
fname
;
found
=
fs
::
exists
(
driver
);
}
if
(
f
s
::
exists
(
driver
)
)
if
(
f
ound
)
{
{
value
v
;
value
v
;
v
[
"srcs"
]
=
to_value
(
hsrcs
);
v
[
"srcs"
]
=
to_value
(
hsrcs
);
...
...
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