Difference between revisions of "Performance & Benchmark"

From CUVI Wiki
(26 intermediate revisions by the same user not shown)
Line 8: Line 8:


==Benchmark==
==Benchmark==
The benchmark is performed on NVIDIA GTX 1080 via Nsight for Performance tool on Windows 10 (64-bit) and CUDA toolkit version 9.1. Timing figure represents frames per second (fps) based on only the processing time on the single GPU. The benchmark for demosaicDFPD (16-bit) for 1080p, 4k and 8k image is 1550fps, 412fps and 94fps.
The following benchmark is performed on NVIDIA GTX 1080 via Nsight for Performance tool on Windows 10 (64-bit) and CUDA toolkit version 9.1. Timing figure represents frames per second (fps) based on only the processing time on the single GPU. The benchmarks are performed on 8-bit images except if mentioned otherwise. The benchmarks for 16-bit demosaicDFPD on 1080p, 4k and 8k image are 1550fps, 412fps and 94fps.


{|class="wikitable"
{|class="wikitable"
|-
|-
!
!  
! 1080p Full HD
! 720p
! 4k Ultra HD
! 1080p
! 8k Ultra HD
! 4k (3840x2160)
! 8k (7680x4320)
|-
|-
| [[Function:AutoColor| Auto Color]]
!
| 7088.83 fps
! GTX 1080
| 1850.02 fps
! GTX 1080
| 461.36 fps
! GTX 1080
! GTX 1080
|-
! Color Operations
| fps
| fps
| fps
| fps
|-
| [[Function:Adjust| adjust]]
|9,478.67
|3,837.30
|1,036.70
|266.68
|-
| [[Function:AutoColor| autoColor]]
|13,793.10
|5,760.37
|1,536.10
|392.84
|-
| [[Function:BorderMask| borderMask]]
|26,720.11
|11,828.72
|2,888.34
|696.01
|-
| [[Function:ChannelMix| channelMix]]
|20,927.94
|9,416.46
|2,370.36
|644.93
|-
| [[Function:ChannelSplit| channelSplit]]
|25,508.90
|11,241
|3,005.86
|724.73
|-
| [[Function:ChannelMerge| channelMerge]]
|22,643.90
|10,694.39
|2,661.41
|635.85
|-
| [[Function:ColorPick| colorPick]]
|27,060.67
|10,812.80
|2,950.60
|740.74
|-
| [[Function:Dehaze| dehaze]]
|7,434.94
|3,577.82
|898.47
|227.71
|-
|-
| [[Function:DemosaicDFPD|Demosaic (DFPD)]]
| [[Function:DemosaicDFPD|Demosaic (DFPD)]]
| 1707.94 fps
| 1707.94
| 412.72 fps
| 412.72
| 101.86 fps
| 101.86
|
|-
|-
| [[Function:Demosaic|Demosaic (Linear)]]
| [[Function:Demosaic|Demosaic (Linear)]]
| 4258.88 fps
| 4258.88
| 1025.64 fps
| 1025.64
| 234.66 fps
| 234.66
|
|-
| [[Function:gammaCorrect|gammaCorrect]]
|10,893.48
|4,786.91
|1,247.10
|303.36
|-
| [[Function:gray2rgb|gray2rgb]]
|31,131.31
|13,053.81
|3,670.72
|923.3
|-
| [[Function:histEq|histEq 8UC1]]
|12,195.12
|5,882.35
|1,721.17
|500.75
|-
| [[Function:hsv2rgb|hsv2rgb]]
|22,472.92
|10,252.41
|2,601.40
|645.35
|-
| [[Function:rgb2hsv|rgb2hsv]]
|10,495.93
|4,641.45
|1,287.87
|328.59
|-
| [[Function:hsv2rgb|hsv2rgb]]
|22,472.92
|10,252.41
|2,601.40
|645.35
|-
| [[Function:imageBinary|imageBinary]]
|39,880.36
|17,540.78
|4,613.99
|1,166.32
|-
| [[Function:rgb2Lab|rgb2Lab]]
|5,702.20
|2,442.90
|461.48
|158.94
|-
| [[Function:Lab2rgb|Lab2rgb]]
|8,615.56
|3,922.55
|1,015.96
|255.68
|-
| [[Function:logTransform|logTransform]]
|9,478.67
|2,861.23
|745.74
|168.05
|-
| [[Function:lowlight|lowlight]]
|5,813.95
|2,793.30
|677.97
|171.73
|-
| [[Function:blackGammaLUT|blackGammaLUT]]
|10,961.55
|4,798.12
|1,479.60
|396.91
|-
| [[Function:LUT|LUT]]
|6,744.22
|3,105.69
|982.46
|288.77
|-
| [[Function:RGB2Gray|rgb2gray]]
|40,779.71
|16,732.76
|4,500.98
|1,106.40
|-
|-
| [[Function:Lowlight| Low Light Enhancement]]
| [[Function:rgb2ycbcr|rgb2ycbcr]]
| 2143.02 fps
|25,690.43
| 525.16 fps
|10,987.80
| 145.52 fps
|2,721.55
|716.28
|-
|-
| [[Function:Resize|Resize (2x - Nearest Neighbor)]]
| [[Function:ycbcr2rgb|ycbcr2rgb]]
| 4169.51 fps
|25,760.58
| 1048.44 fps
|11,001.95
| 260.164 fps
|2,723.90
|785.62
|-
|-
| [[Function:Resize|Resize (2x - Linear)]]
| [[Function:RGB2YUV|rgb2yuv]]
| 2494.80 fps
|26,668.80
| 613.65 fps
|11,274.72
| 151.53 fps
|2,786.93
|766.75
|-
|-
| [[Function:Resize|Resize (2x - Cubic)]]
| [[Function:YUV2RGB|yuv2rgb]]
| 1778.42 fps
|25,477.71
| 456.68 fps
|11,258.98
| 108.44 fps
|2,782.69
|708.79
|-
|-
| [[Function:Resize|Resize (0.5x - Nearest Neighbor)]]
! Geometry Transforms
| 47,265.68 fps
| fps
| 12,396.48 fps
| fps
| 3145.28 fps
| fps
| fps
|-
|-
| [[Function:Resize|Resize (0.5x - Linear)]]
| [[Function:Rotate|rotate]]
| 26,365.05 fps
| 14,520.32
| 6793.71 fps
| 6,324.15
| 1703.32 fps
| 1,564.89
| 393.55
|-
|-
| [[Function:Resize|Resize (0.5x - Cubic)]]
| [[Function:RotateNoCrop|rotateNoCrop]]
| 11,232.92 fps
| 13,156.86
| 3143.94 fps
| 5,872.54
| 799.00 fps
| 1,479.81
| 363.07
|-
|-
|}
|}

Revision as of 13:09, 2 July 2020

If one thing CUVI gives you, it's performance boost over competitive libraries and solutions. Using GPGPU as the underlying hardware, Imaging and Vision modules get maximum benefit due to their inherent parallel algorithms. In addition to cost cutting on CPU-based clusters, CUVI gives up to 15x speedup over Intel IPP.

Applications using CUVI are generally ten times faster than their CPU counterpart. CUVI framework also gives the ease to scale the application on more than one GPU making it as fast as you want.

Benchmark

The following benchmark is performed on NVIDIA GTX 1080 via Nsight for Performance tool on Windows 10 (64-bit) and CUDA toolkit version 9.1. Timing figure represents frames per second (fps) based on only the processing time on the single GPU. The benchmarks are performed on 8-bit images except if mentioned otherwise. The benchmarks for 16-bit demosaicDFPD on 1080p, 4k and 8k image are 1550fps, 412fps and 94fps.

720p 1080p 4k (3840x2160) 8k (7680x4320)
GTX 1080 GTX 1080 GTX 1080 GTX 1080
Color Operations fps fps fps fps
adjust 9,478.67 3,837.30 1,036.70 266.68
autoColor 13,793.10 5,760.37 1,536.10 392.84
borderMask 26,720.11 11,828.72 2,888.34 696.01
channelMix 20,927.94 9,416.46 2,370.36 644.93
channelSplit 25,508.90 11,241 3,005.86 724.73
channelMerge 22,643.90 10,694.39 2,661.41 635.85
colorPick 27,060.67 10,812.80 2,950.60 740.74
dehaze 7,434.94 3,577.82 898.47 227.71
Demosaic (DFPD) 1707.94 412.72 101.86
Demosaic (Linear) 4258.88 1025.64 234.66
gammaCorrect 10,893.48 4,786.91 1,247.10 303.36
gray2rgb 31,131.31 13,053.81 3,670.72 923.3
histEq 8UC1 12,195.12 5,882.35 1,721.17 500.75
hsv2rgb 22,472.92 10,252.41 2,601.40 645.35
rgb2hsv 10,495.93 4,641.45 1,287.87 328.59
hsv2rgb 22,472.92 10,252.41 2,601.40 645.35
imageBinary 39,880.36 17,540.78 4,613.99 1,166.32
rgb2Lab 5,702.20 2,442.90 461.48 158.94
Lab2rgb 8,615.56 3,922.55 1,015.96 255.68
logTransform 9,478.67 2,861.23 745.74 168.05
lowlight 5,813.95 2,793.30 677.97 171.73
blackGammaLUT 10,961.55 4,798.12 1,479.60 396.91
LUT 6,744.22 3,105.69 982.46 288.77
rgb2gray 40,779.71 16,732.76 4,500.98 1,106.40
rgb2ycbcr 25,690.43 10,987.80 2,721.55 716.28
ycbcr2rgb 25,760.58 11,001.95 2,723.90 785.62
rgb2yuv 26,668.80 11,274.72 2,786.93 766.75
yuv2rgb 25,477.71 11,258.98 2,782.69 708.79
Geometry Transforms fps fps fps fps
rotate 14,520.32 6,324.15 1,564.89 393.55
rotateNoCrop 13,156.86 5,872.54 1,479.81 363.07