diff options
| author | Tobias Grosser <tobias@grosser.es> | 2016-09-18 06:50:35 +0000 |
|---|---|---|
| committer | Tobias Grosser <tobias@grosser.es> | 2016-09-18 06:50:35 +0000 |
| commit | 82f2af350819fe7bd63ceb828af85ef1c4fabc75 (patch) | |
| tree | ca08d0961eed83ac5126b8d57822a55a410c2320 /llvm/lib/IR/ModuleSummaryIndex.cpp | |
| parent | cfdee6582bf3f1265dd8da62b30082dc1f3d8b21 (diff) | |
| download | bcm5719-llvm-82f2af350819fe7bd63ceb828af85ef1c4fabc75.tar.gz bcm5719-llvm-82f2af350819fe7bd63ceb828af85ef1c4fabc75.zip | |
GPGPU: Dynamically ensure 'sufficient compute'
Offloading to a GPU is only beneficial if there is a sufficient amount of
compute that can be accelerated. Many kernels just have a very small number
of dynamic compute, which means GPU acceleration is not beneficial. We
compute at run-time an approximation of how many dynamic instructions will be
executed and fall back to CPU code in case this number is not sufficiently
large. To keep the run-time checking code simple, we over-approximate the
number of instructions executed in each statement by computing the volume of
the rectangular hull of its iteration space.
llvm-svn: 281848
Diffstat (limited to 'llvm/lib/IR/ModuleSummaryIndex.cpp')
0 files changed, 0 insertions, 0 deletions

