Unverified Commit b4b8909e authored by Chris Austen's avatar Chris Austen Committed by GitHub
Browse files

Ensure unique module name for MLIR standalone ops (#2360) (#2380)

Cherry Pick ASAN build excluding additional bin files -1839 #2370
Use an older version of numpy for compatibility with Python3.6 #2369
Add space after rate message
Fix wrong size check when axes not present for slice (#2270)
Updated Changelog to document latest release work (#2363)
parent 6ae4227a
...@@ -2,6 +2,49 @@ ...@@ -2,6 +2,49 @@
Full documentation for MIGraphX is available at [MIGraphX Documentation](https://rocmdocs.amd.com/projects/AMDMIGraphX/en/latest/). Full documentation for MIGraphX is available at [MIGraphX Documentation](https://rocmdocs.amd.com/projects/AMDMIGraphX/en/latest/).
## MIGraphX 2.8 for ROCm 6.0.0
### Added
- Support for MI300 GPUs
- Support for TorchMIGraphX via PyTorch
- Boosted overall performance by integrating rocMLIR
- INT8 support for ONNX Runtime
- Support for ONNX version 1.14.1
- Added operators Qlinearadd, QlinearGlobalAveragePool, Qlinearconv, Shrink, CastLike, and RandomUniform operators
- Added an error message when gpu_targets is not set when compiling migraphx
- Added parameter to set tolerances with migraphx-driver verify
- Added support for MXR files >4 GB
- Added MIGRAPHX_TRACE_MLIR flag
- BETA added capability to use ROCm Composable Kernels via environment variable MIGRAPHX_ENABLE_CK=1
### Optimizations
- Improved performance support for INT8
- Improved time percision while benchmarking candidate kernels from CK or MLIR
- Remove contiguous from reshape parsing
- Updated ConstantOfShape operator to support Dynamic Batch
- Simplifies dynamic shapes related operators to their static versions if possible
- Improved debugging tools for accuracy issues
- Print warning about miopen_fusion while generating mxr
- General reduction in system memory usage during model compilation
- Created additional fusion opportunities during model compilation
- Improved debugging for matchers
- Improved general debug messages
### Fixed
- Fixed scatter operator for nonstandard shapes with some models from ONNX Model Zoo
- Provided a compile option to improve accuracy of some models by disabling Fast-Math
- Improved layernorm + pointwise fusion matching to ignore arguments order
- Fixed accuracy issue with ROIAlign operator
- Fixed Trilu operator computation logic
- Fixed support for the DETR model
### Changed
- Changed migraphx version to 2.8
- Extracted test packages as its own separate deb file when building migraphx from source
### Removed
- Removed building Python 2.7 bindings
## MIGraphX 2.7 for ROCm 5.7.0 ## MIGraphX 2.7 for ROCm 5.7.0
### Added ### Added
- Enabled hipRTC to not require dev packages for migraphx runtime and allow the ROCm install to be in a different directory than it was during build time - Enabled hipRTC to not require dev packages for migraphx runtime and allow the ROCm install to be in a different directory than it was during build time
......
...@@ -55,6 +55,9 @@ if(MIGRAPHX_ENABLE_PYTHON) ...@@ -55,6 +55,9 @@ if(MIGRAPHX_ENABLE_PYTHON)
target_compile_definitions(driver PRIVATE MIGRAPHX_ENABLE_PYTHON) target_compile_definitions(driver PRIVATE MIGRAPHX_ENABLE_PYTHON)
endif() endif()
rocm_install_targets( # For ASAN Enabled Build no need to package binaries
if( NOT ENABLE_ASAN_PACKAGING )
rocm_install_targets(
TARGETS driver TARGETS driver
) )
endif()
...@@ -137,7 +137,7 @@ struct parse_slice : op_parser<parse_slice> ...@@ -137,7 +137,7 @@ struct parse_slice : op_parser<parse_slice>
sd.always_insert(args.at(0)); sd.always_insert(args.at(0));
// If axes arg is not given, the default is all of them. // If axes arg is not given, the default is all of them.
if(sd.op.axes.empty() and sd.op_args.size() < 3) if(sd.op.axes.empty() and sd.op_args.size() <= 3)
{ {
std::vector<int64_t> axes(args[0]->get_shape().ndim()); std::vector<int64_t> axes(args[0]->get_shape().ndim());
std::iota(axes.begin(), axes.end(), int64_t{0}); std::iota(axes.begin(), axes.end(), int64_t{0});
......
...@@ -936,7 +936,7 @@ void program::perf_report(std::ostream& os, ...@@ -936,7 +936,7 @@ void program::perf_report(std::ostream& os,
os << std::endl; os << std::endl;
os << "Batch size: " << batch << std::endl; os << "Batch size: " << batch << std::endl;
os << "Rate: " << rate * batch << "/sec" << std::endl; os << "Rate: " << rate * batch << " inferences/sec" << std::endl;
os << "Total time: " << total_time << "ms" << std::endl; os << "Total time: " << total_time << "ms" << std::endl;
os << "Total instructions time: " << total_instruction_time << "ms" << std::endl; os << "Total instructions time: " << total_instruction_time << "ms" << std::endl;
os << "Overhead time: " << overhead_time << "ms" os << "Overhead time: " << overhead_time << "ms"
......
...@@ -361,7 +361,8 @@ struct find_mlir_standalone_op ...@@ -361,7 +361,8 @@ struct find_mlir_standalone_op
return; return;
static size_t counter = 0; static size_t counter = 0;
module_ref mm = mpm.create_module("mlir_" + std::to_string(counter++)); module_ref mm =
mpm.create_module("mlir_" + conv_based_op->name() + std::to_string(counter++));
mm->set_bypass(); mm->set_bypass();
auto [anchor_op, top_inputs] = fuse_input_ops_and_gemm_based_op(mm, conv_based_op); auto [anchor_op, top_inputs] = fuse_input_ops_and_gemm_based_op(mm, conv_based_op);
mm->add_return({anchor_op}); mm->add_return({anchor_op});
......
...@@ -28,6 +28,10 @@ add_executable(migraphx-hiprtc-driver ...@@ -28,6 +28,10 @@ add_executable(migraphx-hiprtc-driver
rocm_clang_tidy_check(migraphx-hiprtc-driver) rocm_clang_tidy_check(migraphx-hiprtc-driver)
target_link_libraries(migraphx-hiprtc-driver PRIVATE migraphx_gpu) target_link_libraries(migraphx-hiprtc-driver PRIVATE migraphx_gpu)
add_dependencies(migraphx_all_targets migraphx-hiprtc-driver) add_dependencies(migraphx_all_targets migraphx-hiprtc-driver)
rocm_install_targets(
# For ASAN Enabled Build no need to package binaries
if( NOT ENABLE_ASAN_PACKAGING )
rocm_install_targets(
TARGETS migraphx-hiprtc-driver TARGETS migraphx-hiprtc-driver
) )
endif()
...@@ -22,4 +22,4 @@ ...@@ -22,4 +22,4 @@
# THE SOFTWARE. # THE SOFTWARE.
##################################################################################### #####################################################################################
numpy==1.21.6 numpy==1.19.5
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment