On 2014.10.21 at 13:53 -0700, Dehao Chen wrote:
> Everything will be the same on non-intel CPUs except for the perf command:
> 
> perf record -e instructions -- your program.
> 
> i.e. you need to drop "-b" and use instructions as event.
> 
> Note that the current algorithm is tuned for accurate instruction
> level profile, which is not available on non-Intel CPU. But you are
> more than welcome to tune the propagation algorithm to get most out of
> inaccurate instruction profile.

Thanks.
But unfortunately it doesn't work:

markus@x4 autofdo % g++ -O2 -g /home/markus/bench.cpp
markus@x4 autofdo % perf record -e instructions  ./a.out
...
markus@x4 autofdo % ./create_gcov --binary=a.out --profile=perf.data 
--gcov=profile.afdo
E1021 23:23:30.733412 13689 perf_reader.cc:918] Unsupported event type 10
F1021 23:23:30.733707 13689 perf_parser.cc:114] Check failed: 
ReadPerfSampleInfo(**parsed_events_[i].raw_event, &sample_info) 
*** Check failure stack trace: ***
    @           0x44469d  google::LogMessage::Flush()
    @           0x4470b9  google::LogMessageFatal::~LogMessageFatal()
    @           0x43c668  quipper::PerfParser::SortParsedEvents()
    @           0x43f0cb  quipper::PerfParser::ParseRawEvents()
    @           0x4221ef  autofdo::PerfDataSampleReader::Append()
    @           0x421af3  autofdo::SampleReader::ReadAndSetMaxCount()
    @           0x417e61  autofdo::ProfileCreator::ReadSample()
    @           0x418db2  autofdo::ProfileCreator::CreateProfile()
    @           0x4086a5  main
    @     0x7fa849ce8fd0  __libc_start_main
    @           0x4099cb  (unknown)
    @              (nil)  (unknown)
[1]    13689 abort      ./create_gcov --binary=a.out --profile=perf.data 
--gcov=profile.afdo

-- 
Markus

Reply via email to