Giter Club home page Giter Club logo

Comments (5)

coleramos425 avatar coleramos425 commented on June 12, 2024

@Ruturaj4 It looks like there was an issue setting local on this system to UTF-8. Particularly this function call:

omniperf/src/utils/utils.py

Lines 607 to 615 in 0c8591c

def set_locale_encoding():
try:
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
except locale.Error as error:
console_error(
"Please ensure that the 'en_US.UTF-8' locale is available on your system.",
exit=False,
)
console_error(error)

Could you try $ locale.setlocale(locale.LC_ALL, "en_US.UTF-8") manually to see if this was where our error came from

from omniperf.

Ruturaj4 avatar Ruturaj4 commented on June 12, 2024

@Ruturaj4 It looks like there was an issue setting local on this system to UTF-8. Particularly this function call:

omniperf/src/utils/utils.py

Lines 607 to 615 in 0c8591c

def set_locale_encoding():
try:
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
except locale.Error as error:
console_error(
"Please ensure that the 'en_US.UTF-8' locale is available on your system.",
exit=False,
)
console_error(error)

Could you try $ locale.setlocale(locale.LC_ALL, "en_US.UTF-8") manually to see if this was where our error came from

yeah, I tried that already. But looks like that is the same issue with rocprofv2 (I get the same warning from rocprofv2), however rocprofv2 works just fine.

from omniperf.

aska-0096 avatar aska-0096 commented on June 12, 2024

Hi @coleramos425
I have similar problem on both MI200 and MI300.
I can't call omniperf profile in this way: omniperf profile -n vcopy -- ./vcopy -n 1048576 -b 256
it give me error:

   INFO Omniperf version: 2.0.0
   INFO Profiler choice: rocprofv2
   INFO Path: /root/workspace_raid/omniperf/sample/workloads/vcopy/MI200
   INFO Target: MI200
   INFO Command: ./vcopy -n 1048576 -b 256
   INFO Kernel Selection: None
   INFO Dispatch Selection: None
   INFO Hardware Blocks: All
   INFO 
   INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   INFO Collecting Performance Counters
   INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   INFO 
   INFO [profiling] Current input file: /root/workspace_raid/omniperf/sample/workloads/vcopy/MI200/perfmon/SQ_IFETCH_LEVEL.txt
   INFO    |-> [rocprofv2] /usr/bin/rocprofv2: line 301: ./vcopy -n 1048576 -b 256: No such file or directory
   INFO    |-> [rocprofv2] 
  ERROR Profiling execution failed.

However, If I put the ./vcopy -n 1048576 -b 256 into a shell script, I call profile with:
omniperf profile -n vcopy -- ./test.sh

My locale setting looks like that:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

BTW, I can use omniperf without problem yesterday but failed after docker container restart, so I think it's most likely a environment problem, but it's hard to figure out what cause that.

from omniperf.

aska-0096 avatar aska-0096 commented on June 12, 2024

Hi @coleramos425 I have similar problem on both MI200 and MI300. I can't call omniperf profile in this way: omniperf profile -n vcopy -- ./vcopy -n 1048576 -b 256 it give me error:

   INFO Omniperf version: 2.0.0
   INFO Profiler choice: rocprofv2
   INFO Path: /root/workspace_raid/omniperf/sample/workloads/vcopy/MI200
   INFO Target: MI200
   INFO Command: ./vcopy -n 1048576 -b 256
   INFO Kernel Selection: None
   INFO Dispatch Selection: None
   INFO Hardware Blocks: All
   INFO 
   INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   INFO Collecting Performance Counters
   INFO ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   INFO 
   INFO [profiling] Current input file: /root/workspace_raid/omniperf/sample/workloads/vcopy/MI200/perfmon/SQ_IFETCH_LEVEL.txt
   INFO    |-> [rocprofv2] /usr/bin/rocprofv2: line 301: ./vcopy -n 1048576 -b 256: No such file or directory
   INFO    |-> [rocprofv2] 
  ERROR Profiling execution failed.

However, If I put the ./vcopy -n 1048576 -b 256 into a shell script, I call profile with: omniperf profile -n vcopy -- ./test.sh

My locale setting looks like that:

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

BTW, I can use omniperf without problem yesterday but failed after docker container restart, so I think it's most likely a environment problem, but it's hard to figure out what cause that.

I can solve this issue by

export ROCPROF=rocprof

But rocprofv2 is recommended right?

from omniperf.

coleramos425 avatar coleramos425 commented on June 12, 2024

@aska-0096 if we assume the vcopy executable is being compiled properly and you can confirm that with a quick sanity check (i.e. ./vcopy -n 1048576 -b 256), I would guess that the docker container is being reloaded incorrectly?

BTW, I can use omniperf without problem yesterday but failed after docker container restart, so I think it's most likely a environment problem, but it's hard to figure out what cause that.

One common issue is that the container isn't being loaded with the proper permissions/groups. For reference I usually use:

$ docker run -it --network=host --device=/dev/kfd --device=/dev/dri/renderD128 --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined <image-id>

Give this a try and if you still face issues we can schedule a meeting to debug. Thanks.

from omniperf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.