New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Polly #44
Comments
Try to get polly from Release 3.5, not trunk version. You can get it Best regards, Alexey BataevSoftware Engineer 28.09.2014 23:27, justsomeone1001 пишет:
|
Just to follow-up --- I was able to get clang-omp to compile either with polly, or with dragonegg, but never with both. After benchmarking some code produced with each, however, I concluded that neither book was worth the candle and dropped both of them. |
Hi, could you provide some additional info on perf issues you Best regards, Alexey BataevSoftware Engineer 10.10.2014 8:56, justsomeone1001 пишет:
|
Sure... I've been benchmarking R with different compiler and configuration options. Different BLAS's, openmp libraries, etc. The benchmarks don't just look at small repeated micro-operations, but include cut-and-pastes of real-world CPU-eating code. The results have been quite illuminating. If you contact me directly or give me your e-mail, I can send you the results for poly vs. other compiler options, or give you the raw data if you'd like. Polly did not perform well. LLVM 3.5 with clang-omp, -O3 and link-time optimization outperformed everything else, gcc or llvm. Dragonegg... if you do a search on stackoverflow for openmp, gcc, and mkl, you'll see a whole discussion with some Intel folks that explains why I was using that. |
You can use a.bataev@gmx.com Best regards, Alexey BataevSoftware Engineer 10.10.2014 9:53, justsomeone1001 пишет:
|
It seems to me polly is not compatible with clang-omp, because it uses Best regards, Alexey BataevSoftware Engineer 10.10.2014 10:35, Bataev, Alexey пишет:
|
Just to clarify what Alexey says below… Apparently polly generates code that directly targets the interfaces of the libgomp OpenMP runtime, while clang-omp targets those provided by the LLVM OpenMP runtime (libiomp5). Therefore at first glance the two are incompatible since having more than one OpenMP runtime linked into a single process is disastrous. However, since the LLVM OpenMP runtime also provides the GOMP entrypoints it should, in fact, be possible to use Polly and clang-omp together, provided that you only link with libiomp5.so and don’t also link libgomp.so. In summary · Link with libiomp5.so and not with libgomp.so and you should be OK. Extra detail if needed… -- Jim James Cownie james.h.cownie@intel.com From: Alexey Bataev [mailto:notifications@github.com] It seems to me polly is not compatible with clang-omp, because it uses Best regards, Alexey BataevSoftware Engineer 10.10.2014 10:35, Bataev, Alexey пишет:
— Reply to this email directly or view it on GitHubhttps://github.com//issues/44#issuecomment-58627936.Intel Corporation (UK) Limited This e-mail and any attachments may contain confidential material for |
To clarify - I didn't have instability with Polly on. (On Mac OS, apparently you can have multiple omp libraries linked simultaneously, because of how Mac handles dynamic linking.) But performance was inferior to llvmomp with -O3. That's why I was closing a bug report about how to get Polly working consistently. Whether Polly generates code for gomp or iomp5, the linker replaces all the gomp calls with iomp5 anyway. I've send Alexy the benchmark testing results. Happy to try to provide mor data if it helps.
|
@justsomeone1001 : I just came accross the performance issues you reported with respect to Polly and wonder if you could possibly send me your performance results for me to understand if/why Polly did not give benefits for you. There are plenty of optimizations Polly is not yet doing, so I would like to understand if this is mostly a missed optimization or rather a conceptual issue. You did not report a performance bug, did you? |
The llvm and clang sources on the clang-omp git don't include polly, and polly can't be added because the version on git is out of sync with the clang-omp sources.
The text was updated successfully, but these errors were encountered: