ROCm / rpp

AMD ROCm Performance Primitives (RPP) library is a comprehensive high-performance computer vision library for AMD processors with HIP/OpenCL/CPU back-ends.
https://rocm.docs.amd.com/projects/rpp/en/latest/
MIT License
55 stars 40 forks source link

RPP RICAP Tensor for HOST and HIP #213

Closed r-abishek closed 1 year ago

r-abishek commented 1 year ago

Introduces RICAP functionality for HOST and HIP in RPP as per https://arxiv.org/pdf/1811.09030.pdf Adds corresponding unit/qa/performance tests

kiritigowda commented 1 year ago

@r-abishek this pr has conflicts.

kiritigowda commented 1 year ago

@r-abishek this pr has few issues - https://app.codacy.com/gh/GPUOpen-ProfessionalCompute-Libraries/rpp/pullRequest?prid=12598993

r-abishek commented 1 year ago

@kiritigowda Codacy and conflicts resolved

paveltc commented 1 year ago

@r-abishek This test passes both HOST and HIP QA tests. I need to talk to you about the unit tests and where to get the inputs for them.

paveltc commented 1 year ago

@r-abishek I ran the unit tests for this and sent you an email regarding what I found. If the behavior I saw is expected, this PR should be good to merge.

r-abishek commented 1 year ago

@paveltc RICAP is good, its just that the test-suite inputs given to the function are randomized, so creates black areas if inputs are not range bound. A bound has been added on the test suite to guarantee a better output, when the demo / unit test is run by users.

paveltc commented 1 year ago

@rrawther @kiritigowda @r-abishek I am now getting the following error when running the latest version of this PR: /home/svcbuild/rpp-pr213/rpp/utilities/test_suite/HIP/../rpp_test_suite_common.h:1092:20: error: use of undeclared identifier 'boost' randFromDist = boost::math::ibeta_inv(betaParam, betaParam, p); // Computes the inverse of the incomplete beta function on parameter ^ /home/svcbuild/rpp-pr213/rpp/utilities/test_suite/HIP/../rpp_test_suite_common.h:1098:21: error: use of undeclared identifier 'boost' randFromDist1 = boost::math::ibeta_inv(betaParam, betaParam, p1);

r-abishek commented 1 year ago

@paveltc This is due to the recent removal of boost from RPP. Added that compatibility for test suite now.

Please try running python3 runTests.py --case_list 82 --qa_mode 0 --test_type 0 --batch_size 3 image

paveltc commented 1 year ago

@r-abishek I was able to successfully run both the HIP and HOST tests and check their output with the original command line we used, the one with the absolute path to the input images.

r-abishek commented 1 year ago

@paveltc Sounds good. @kiritigowda I believe RICAP could now be merged.

kiritigowda commented 1 year ago

@r-abishek - please resolve conflicts - @paveltc

r-abishek commented 1 year ago

@kiritigowda I think it needs a manual trigger? Could you trigger the CI?

r-abishek commented 1 year ago

HIP: image

HOST: image

@kiritigowda CI with RICAP seems to be working now. Passes HIP and HOST

r-abishek commented 1 year ago

@sampath1117 @snehaa8 We will need QA passes on tests henceforth. Pls take a look at above images and the CI link - http://math-ci.amd.com/blue/organizations/jenkins/main%2FShort-GPUOpen%2Frpp/detail/PR-213/12/pipeline

RICAP PR merged into develop is the initial test for this. Audio and Voxel PRs will need to have this.