Thread: BUG #17200: PostgreSQL-Support Profile Guide Optimization(Clang/GCC)?

BUG #17200: PostgreSQL-Support Profile Guide Optimization(Clang/GCC)?

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      17200
Logged by:          hpc researcher
Email address:      hpcresearch.mspk@gmail.com
PostgreSQL version: 13.3
Operating system:   RHEL8.4
Description:

I followed the below steps on Profile Guide Optimization with Clang
Environment.
And benchmark environment used HammedDB.

 1.Build command:
 ------------
 $ CC=clang CXX=clang++ ../configure --prefix=<path-to-install> CFLAGS='-O3
-fprofile-instr-generate' CXXFLAGS='-O3  -std=c++14 -stdlib=libc++
-fprofile-instr-generate'  
2.Run HammerDB client(tpcc-schmea + test run(vu's).  
3. default.profraw created in  PostgreSQL(<path-to-install>)
4.  convert the “raw” profile format by clang.(the merge
command:llvm-profdata tool) 
5. llvm-profdata merge -output=code.profdata code- default.profraw 
warning: default.profraw: Failed to uncompress data (zlib)
 error: No profiles could be merged.(step5)

Ref:
https://clang.llvm.org/docs/UsersManual.html#profiling-with-instrumentation


Re: BUG #17200: PostgreSQL-Support Profile Guide Optimization(Clang/GCC)?

From
hpc researcher_mspk
Date:
Tried PostgreSQL with GCC-Profile guided optimization(PGO) and it is working with the HammerDB benchmark environment. Similarly, we tried PostgreSQL with Clang(12.0V) -Profile guided optimization(PGO) and it is not working and observed an error
"warning: default.profraw: Failed to uncompress data (zlib)
error: No profiles could be merged"

Reference bug #: 17200

Are there any plans to fix this issue in upcoming releases? Otherwise, could you please provide us a workaround/patch for this issue?

On Wed, 22 Sept 2021 at 18:48, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      17200
Logged by:          hpc researcher
Email address:      hpcresearch.mspk@gmail.com
PostgreSQL version: 13.3
Operating system:   RHEL8.4
Description:       

I followed the below steps on Profile Guide Optimization with Clang
Environment.
And benchmark environment used HammedDB.

 1.Build command:
 ------------
 $ CC=clang CXX=clang++ ../configure --prefix=<path-to-install> CFLAGS='-O3
-fprofile-instr-generate' CXXFLAGS='-O3  -std=c++14 -stdlib=libc++
-fprofile-instr-generate' 
2.Run HammerDB client(tpcc-schmea + test run(vu's). 
3. default.profraw created in  PostgreSQL(<path-to-install>)
4.  convert the “raw” profile format by clang.(the merge
command:llvm-profdata tool)
5. llvm-profdata merge -output=code.profdata code- default.profraw
warning: default.profraw: Failed to uncompress data (zlib)
 error: No profiles could be merged.(step5)

Ref:
https://clang.llvm.org/docs/UsersManual.html#profiling-with-instrumentation

Re: BUG #17200: PostgreSQL-Support Profile Guide Optimization(Clang/GCC)?

From
Tom Lane
Date:
hpc researcher_mspk <hpcresearch.mspk@gmail.com> writes:
> Tried PostgreSQL with GCC-Profile guided optimization(PGO) and it is
> working with the HammerDB benchmark environment. Similarly, we tried
> PostgreSQL with Clang(12.0V) -Profile guided optimization(PGO) and it is
> not working and observed an error
> "warning: default.profraw: Failed to uncompress data (zlib)
> error: No profiles could be merged"

> Are there any plans to fix this issue in upcoming releases?

I see no reason to believe that this is Postgres' problem to fix.
Try filing a bug with the Clang people.

            regards, tom lane