Cycles GPU performance regression on Nvidia's Maxwell cards #47273

Closed
opened 2016-01-29 10:22:53 +01:00 by Antonio Buch · 10 comments

System Information
Windows 10
GeForce GTX TITAN Black
GeForce GTX 970
GeForce GTX TITAN X

Blender Version
Broken: 2.76b f337fea
Works: 2,73a bbf09d9

Short description of error
It looks like there is a regression in the performance of Nvidia's Maxwell generation cards on every new Blender version. At least with the GTX 970 and TITAN X which are the cards we have.

We've noticed this regresion since version 2.73a, when we got our TITAN X in April 2015. At that time, the TITAN X performed better than TITAN Black but in the current version (2.76b) the TITAN Black performs way better than TITAN X. The TITAN X is performing even worse than the GTX 970.

Steps for others to reproduce the error
Render the same scene with Blender 2.73a and 2.76b. You'll find that Kepler cards (like TITAN Black) performs better on 2.76b while Maxwell ones performs better on 2.73a than newer versions.

Here are some test results of 3 computers with GTX 970, TITAN Black and TITAN X at 2 different tile sizes and two different Drivers for TITAN X. The scene rendered was the BMW benchmark https://www.dropbox.com/s/6eg8a4l4lqig7sh/BMW27.blend?dl=0

TITAN Black (Tile 240x270)

2.76b – 01:03.25
2.73a – 01:05.35

TITAN Black (Tile 480x540)

2.76b – 00:59.83
2.73a – 01:01.37

GTX 970 (Tile 240x270)

2.76b – 01:28.26
2.73a – 01:18.94

GTX 970 (Tile 480x270)

2.76b – 01:25.16
2.73a – 01:17.16

GTX TITAN X (Tile 240x270) Nvidia Driver V. 361.43 (the latest)

2.76b – 01:31.23
2.73a – 00:59.24

GTX TITAN X (Tile 480x540) Nvidia Driver V. 361.43 (the latest)

2.76b – 01:21.74
2.73a – 00:50.64

GTX TITAN X (Tile 240x270) with Nvidia Driver V. 352.84 (the newer at April '15)

2.76b – 01:35.28
2.73a – 01:01.40

GTX TITAN X (Tile 480x540) Nvidia Driver V. 352.84 (the newer at April '15)

2.76b – 01:26.96
2.73a – 00:52.35

**System Information** Windows 10 GeForce GTX TITAN Black GeForce GTX 970 GeForce GTX TITAN X **Blender Version** Broken: 2.76b f337fea Works: 2,73a bbf09d9 **Short description of error** It looks like there is a regression in the performance of Nvidia's Maxwell generation cards on every new Blender version. At least with the GTX 970 and TITAN X which are the cards we have. We've noticed this regresion since version 2.73a, when we got our TITAN X in April 2015. At that time, the TITAN X performed better than TITAN Black but in the current version (2.76b) the TITAN Black performs way better than TITAN X. The TITAN X is performing even worse than the GTX 970. **Steps for others to reproduce the error** Render the same scene with Blender 2.73a and 2.76b. You'll find that Kepler cards (like TITAN Black) performs better on 2.76b while Maxwell ones performs better on 2.73a than newer versions. Here are some test results of 3 computers with GTX 970, TITAN Black and TITAN X at 2 different tile sizes and two different Drivers for TITAN X. The scene rendered was the BMW benchmark https://www.dropbox.com/s/6eg8a4l4lqig7sh/BMW27.blend?dl=0 **TITAN Black (Tile 240x270)** 2.76b – 01:03.25 2.73a – 01:05.35 **TITAN Black (Tile 480x540)** 2.76b – 00:59.83 2.73a – 01:01.37 **GTX 970 (Tile 240x270)** 2.76b – 01:28.26 2.73a – 01:18.94 **GTX 970 (Tile 480x270)** 2.76b – 01:25.16 2.73a – 01:17.16 **GTX TITAN X (Tile 240x270) Nvidia Driver V. 361.43 (the latest)** 2.76b – 01:31.23 2.73a – 00:59.24 **GTX TITAN X (Tile 480x540) Nvidia Driver V. 361.43 (the latest)** 2.76b – 01:21.74 2.73a – 00:50.64 **GTX TITAN X (Tile 240x270) with Nvidia Driver V. 352.84 (the newer at April '15)** 2.76b – 01:35.28 2.73a – 01:01.40 **GTX TITAN X (Tile 480x540) Nvidia Driver V. 352.84 (the newer at April '15)** 2.76b – 01:26.96 2.73a – 00:52.35
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @antoniobuch1

Added subscriber: @antoniobuch1
Author

I'm not sure how Priority works so I set at its "Needs triage" default. But as you can see, the "bug" is tested and I really want this task as High Priority. It is slowing down our studio production and our investment in the TITAN X is pointless now.

I'm not sure how Priority works so I set at its "Needs triage" default. But as you can see, the "bug" is tested and I really want this task as High Priority. It is slowing down our studio production and our investment in the TITAN X is pointless now.

Added subscriber: @ThomasDinges

Added subscriber: @ThomasDinges

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Thomas Dinges self-assigned this 2016-01-29 13:37:58 +01:00

Hi,
I understand your concern here, and we are dedicated to make Cycles as fast as possible. Unfortunately, new features and code changes can always result in performance changes and drops, that is very difficult to avoid.

We plan on porting the split kernel architecture to CUDA as well, which should improve performance quite a bit again.

We consider this an ongoing project, not something that can be solved in a day.

Hi, I understand your concern here, and we are dedicated to make Cycles as fast as possible. Unfortunately, new features and code changes can always result in performance changes and drops, that is very difficult to avoid. We plan on porting the split kernel architecture to CUDA as well, which should improve performance quite a bit again. We consider this an ongoing project, not something that can be solved in a day.
Author

Hi Thomas, glad to meet you. Of course it cannot be solved fast, though I have no idea of programming I'm sure it is a tough work developing a render engine such as Cycles. I'm reporting this just in case you don't tested with Maxwell GPU's and you don't know this issue.

So did you know about this behavior? Are there plans to solve this? I don't want to be too nosy, it's just for planning future purchases. Thanks!

Hi Thomas, glad to meet you. Of course it cannot be solved fast, though I have no idea of programming I'm sure it is a tough work developing a render engine such as Cycles. I'm reporting this just in case you don't tested with Maxwell GPU's and you don't know this issue. So did you know about this behavior? Are there plans to solve this? I don't want to be too nosy, it's just for planning future purchases. Thanks!

Added subscriber: @Sergey

Added subscriber: @Sergey

I am not sure we have Titan X cards at the Blender Institute (@Sergey will know), but I cannot remember a specific change, that could cause such a slowdown. Can you maybe test with a build from the Buildbot (https://builder.blender.org/download/) and see how that one performs on the Titan X? Is it worse than 2.76b or better?

We will work on the Split kernel architecture soon, that will improve performance on CUDA GPUs hopefully, but how much this will help is yet to be seen.

Developer note:

  Titan Black = sm_35
  Titan X = sm_52
I am not sure we have Titan X cards at the Blender Institute (@Sergey will know), but I cannot remember a specific change, that could cause such a slowdown. Can you maybe test with a build from the Buildbot (https://builder.blender.org/download/) and see how that one performs on the Titan X? Is it worse than 2.76b or better? We will work on the Split kernel architecture soon, that will improve performance on CUDA GPUs hopefully, but how much this will help is yet to be seen. Developer note: ``` Titan Black = sm_35 Titan X = sm_52
Author

Just checked. The result in the last build (e2161ca) is exactly the same.

Just checked. The result in the last build (e2161ca) is exactly the same.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#47273
No description provided.