GPUs


Vulkan Status Update: Will Use Feature Sets, Android Support Incoming

Vulkan Status Update: Will Use Feature Sets, Android Support Incoming

Along with updates on OpenGL, Khronos is also offering a status update on the development of Vulkan at this year’s SIGGRAPH show. Khronos’s next-generation low-level API was announced last year, with further development taking off this year when it was announced at the API would be absorbing Mantle 1.0 and would operate under its current fiery name. The API is still in development, but Khronos has a few new pieces of information to share on the progress of development.

Vulkan Feature Sets

First and foremost, there has been a bit of speculation over how Vulkan would manage being a low-level API for both mobile and desktops, and Khronos is finally answering those questions. In the OpenGL ecosystem, new features would be exposed as optional extensions, and then standardized through core releases (e.g. OpenGL ES 3.2). Due to the factors that resulted in the creation of OpenGL ES, this was never a huge problem for either branch of OpenGL since each could be scoped as appropriate and integrated separately. However with Vulkan there is now just one API, and such a coarse approach would imply limiting Vulkan to just the features mobile GPUs could support, or making even more extensive use of extensions.

To that end, today Khronos is announcing that Vulkan will support defined feature sets in order to help simplify application development and to more readily support mobile and desktop hardware under the same API. Feature sets, as implied by the name, will be groupings of features that will be advertised under a single feature set name, with the idea being that developers will build their programs against a handful of feature sets instead of a massive combination of individual extensions or capability bits (though developers can still use individual features if they’d like). Feature sets are nothing new to desktop graphics, with Microsoft’s DirectX standard having supported them since DirectX 11 in 2009.

While Khronos is announcing that Vulkan will support feature sets, they are not announcing the individual feature sets, and for good reason. In traditional Khronos consortium fashion, Khronos is going to leave the feature set definitions up to the platform holder rather than define those sets themselves. This means that it will typically be the OS developer defining the feature sets, as will be the case on Android. However because Khronos is leaving this up to the platform holder, for holders who opt not to define feature sets for their Vulkan-enabled platforms, Khronos will step in and define those feature sets. In other words platform holders get first dibs, but either way someone will take on the task of defining the feature sets.

Practically speaking, this means that while Android’s feature set will be defined by Google and one can expect SteamOS’s to be defined by Valve, Windows’ feature set will be defined by Khronos. Microsoft is a member of the Khronos consortium and could define it, however Microsoft has taken a hands-off approach on Khronos’s graphics APIs in recent years – presumably in favor of focusing on DirectX – so we’re not expecting to see Microsoft make those definitions. Feature definitions have always been a weak point of the Khronos consortium structure, so giving platform holders the right of first refusal will allow holders such as Google to break the deadlock of the consortium and dictate what features will be supported on Android. Otherwise Khronos will be able to get the job done, though one would expect not without the traditional politics of the consortium.

Vulkan Feature Set Definitions
Platform Expected To Be Defined By
Android Platform Holder – Google
SteamOS Platform Holder – Valve?
Linux Khronos?
Windows Khronos (Platform holder Microsoft is anticipated to decline)

Android Support

Speaking of Android, along with announcing their support for OpenGL ES 3.2 today, Google is also announcing that they will be supporting Vulkan in a future release of Android. As with OpenGL ES 3.2, no specific timeline or version of Android is mentioned, though it’s a safe bet that it will be the 2016 release. Android has traditionally heavily relied on OpenGL ES, and with Google sewing further ties with Khronos with the Android Extension Pack, it’s not surprising that Android will include support for Vulkan in order to bring low-level graphics programming to the ecosystem’s developers.

Apple, for what it’s worth, has been absent from the Khronos announcements. As the company is pushing Metal on both mobile and desktop, it looks unlikely that they will be adopting Vulkan any time soon. In which case Vulkan wouldn’t quite match OpenGL ES 3.0’s universal reach due to Apple’s reliance on proprietary APIs.

Vulkan Conformance Tests Will Be Open Source

Meanwhile on the testing and validation front, Khronos is announcing that they are teaming up with Google and the Android Open Source Project to release the Vulkan conformance tests as as open source tests. The tests themselves are being developed by Khronos members and contractors, with the Khronos/ASOP connection coming in to provide the frameworks. The tests themselves are portable to other platforms – Khronos made this point very clear in our briefing – but partnering up with Google helps Khronos get the tests out there sooner and to fulfil their open source goals.

ETA: Late 2015

Finally, Khronos is also offering a bit more guidance on when to expect the first revision of Vulkan. Khronos’s goal for the specification is to release it by the end of the year, which means they should be wrapping up development of the specification soon. Meanwhile driver/runtime development has been occurring concurrently with the development of the specification, which means that the first drivers will be ready at the same time. Khronos does require that there are working implementations before a specification is released to production, so with any luck Vulkan will be ready as a development target and for early end-user testing by the end of 2015.

Update: And speaking of Vulkan’s ETA, there are multiple Vulkan demos on the SIGGRAPH showfloor, demonstrating the API and the current status of vendor implementations. First out of the gate is Imagination, showing off a demo running on Android.

Vulkan Status Update: Will Use Feature Sets, Android Support Incoming

Vulkan Status Update: Will Use Feature Sets, Android Support Incoming

Along with updates on OpenGL, Khronos is also offering a status update on the development of Vulkan at this year’s SIGGRAPH show. Khronos’s next-generation low-level API was announced last year, with further development taking off this year when it was announced at the API would be absorbing Mantle 1.0 and would operate under its current fiery name. The API is still in development, but Khronos has a few new pieces of information to share on the progress of development.

Vulkan Feature Sets

First and foremost, there has been a bit of speculation over how Vulkan would manage being a low-level API for both mobile and desktops, and Khronos is finally answering those questions. In the OpenGL ecosystem, new features would be exposed as optional extensions, and then standardized through core releases (e.g. OpenGL ES 3.2). Due to the factors that resulted in the creation of OpenGL ES, this was never a huge problem for either branch of OpenGL since each could be scoped as appropriate and integrated separately. However with Vulkan there is now just one API, and such a coarse approach would imply limiting Vulkan to just the features mobile GPUs could support, or making even more extensive use of extensions.

To that end, today Khronos is announcing that Vulkan will support defined feature sets in order to help simplify application development and to more readily support mobile and desktop hardware under the same API. Feature sets, as implied by the name, will be groupings of features that will be advertised under a single feature set name, with the idea being that developers will build their programs against a handful of feature sets instead of a massive combination of individual extensions or capability bits (though developers can still use individual features if they’d like). Feature sets are nothing new to desktop graphics, with Microsoft’s DirectX standard having supported them since DirectX 11 in 2009.

While Khronos is announcing that Vulkan will support feature sets, they are not announcing the individual feature sets, and for good reason. In traditional Khronos consortium fashion, Khronos is going to leave the feature set definitions up to the platform holder rather than define those sets themselves. This means that it will typically be the OS developer defining the feature sets, as will be the case on Android. However because Khronos is leaving this up to the platform holder, for holders who opt not to define feature sets for their Vulkan-enabled platforms, Khronos will step in and define those feature sets. In other words platform holders get first dibs, but either way someone will take on the task of defining the feature sets.

Practically speaking, this means that while Android’s feature set will be defined by Google and one can expect SteamOS’s to be defined by Valve, Windows’ feature set will be defined by Khronos. Microsoft is a member of the Khronos consortium and could define it, however Microsoft has taken a hands-off approach on Khronos’s graphics APIs in recent years – presumably in favor of focusing on DirectX – so we’re not expecting to see Microsoft make those definitions. Feature definitions have always been a weak point of the Khronos consortium structure, so giving platform holders the right of first refusal will allow holders such as Google to break the deadlock of the consortium and dictate what features will be supported on Android. Otherwise Khronos will be able to get the job done, though one would expect not without the traditional politics of the consortium.

Vulkan Feature Set Definitions
Platform Expected To Be Defined By
Android Platform Holder – Google
SteamOS Platform Holder – Valve?
Linux Khronos?
Windows Khronos (Platform holder Microsoft is anticipated to decline)

Android Support

Speaking of Android, along with announcing their support for OpenGL ES 3.2 today, Google is also announcing that they will be supporting Vulkan in a future release of Android. As with OpenGL ES 3.2, no specific timeline or version of Android is mentioned, though it’s a safe bet that it will be the 2016 release. Android has traditionally heavily relied on OpenGL ES, and with Google sewing further ties with Khronos with the Android Extension Pack, it’s not surprising that Android will include support for Vulkan in order to bring low-level graphics programming to the ecosystem’s developers.

Apple, for what it’s worth, has been absent from the Khronos announcements. As the company is pushing Metal on both mobile and desktop, it looks unlikely that they will be adopting Vulkan any time soon. In which case Vulkan wouldn’t quite match OpenGL ES 3.0’s universal reach due to Apple’s reliance on proprietary APIs.

Vulkan Conformance Tests Will Be Open Source

Meanwhile on the testing and validation front, Khronos is announcing that they are teaming up with Google and the Android Open Source Project to release the Vulkan conformance tests as as open source tests. The tests themselves are being developed by Khronos members and contractors, with the Khronos/ASOP connection coming in to provide the frameworks. The tests themselves are portable to other platforms – Khronos made this point very clear in our briefing – but partnering up with Google helps Khronos get the tests out there sooner and to fulfil their open source goals.

ETA: Late 2015

Finally, Khronos is also offering a bit more guidance on when to expect the first revision of Vulkan. Khronos’s goal for the specification is to release it by the end of the year, which means they should be wrapping up development of the specification soon. Meanwhile driver/runtime development has been occurring concurrently with the development of the specification, which means that the first drivers will be ready at the same time. Khronos does require that there are working implementations before a specification is released to production, so with any luck Vulkan will be ready as a development target and for early end-user testing by the end of 2015.

Update: And speaking of Vulkan’s ETA, there are multiple Vulkan demos on the SIGGRAPH showfloor, demonstrating the API and the current status of vendor implementations. First out of the gate is Imagination, showing off a demo running on Android.

NVIDIA FY 2016 Q2 Results: GPU Sales Are Strong But Write Downs Hurt Bottom Line

NVIDIA FY 2016 Q2 Results: GPU Sales Are Strong But Write Downs Hurt Bottom Line

Today NVIDIA released its quarterly results for the second quarter of their fiscal year 2016 (yes, 2016) and they had excellent sales of their GeForce GPUs, but have decided to write down their Icera modem business, which hit their operating expenses to the tune of around $90 million. Revenue for the quarter was up 5% though as compared to Q2 2015, and came in at $1.153 billion for the quarter. On a GAAP basis, gross margin was 55%, down 110 bps over last year and down 170 bps since last quarter. Net income was just $26 million, down 81% sequentially and 80% year-over-year. This resulted in diluted earnings per share of $0.05, down 77% from Q2 2015’s $0.22.

NVIDIA Q2 2016 Financial Results (GAAP)
  Q2’2016 Q1’2016 Q2’2015 Q/Q Y/Y
Revenue (in millions USD) $1153 $1151 $1103 flat +5%
Gross Margin 55.0% 56.7% 56.1% -1.7% -1.1%
Operating Expenses (in millions USD) $558 $477 $456 +17% +22%
Net Income $26 $134 $128 -81% -80%
EPS $0.05 $0.24 $0.22 -79% -77%

A big factor in this was the write down of their Icera modem division. NVIDIA had been looking for a buyer for their modem unit, but was unable to find a suitable buyer for the business and is therefore winding down operations in this unit. This caused a hit of $0.19 per diluted share. Also during the quarter, NVIDIA announced a recall of their SHIELD tablets due to overheating batteries, and there have been two cases of property damage due to this. This caused another hit of $0.02 per diluted share. They also had $24 million in expenses related to the Samsung and Qualcomm lawsuit.

NVIDIA Q2 2016 Financial Results (Non-GAAP)
  Q2’2016 Q1’2016 Q2’2015 Q/Q Y/Y
Revenue (in millions USD) $1153 $1151 $1103 flat +5%
Gross Margin 56.6% 56.9% 56.4% -0.3% +0.2%
Operating Expenses (in millions USD) $421 $425 $412 -1% +2%
Net Income $190 $187 $173 +2% +10%
EPS $0.34 $0.33 $0.30 +3% +13%

NVIDIA’s non-GAAP results “exclude stock-based compensation, product warranty charge, acquisition-related costs, restructuring and other charges, gains and losses from non-affiliated investments, interest expense related to amortization of debt discount, and the associated tax impact of these items, where applicable” which means that they do not reflect either the Icera write-down, nor the tablet recall. On a non-GAAP basis, gross margin was up 20 bps to 56.6%, with net income up 10% to $190 million. Diluted earnings per share were $0.34, up 13% from Q2 2015’s $0.30 non-GAAP numbers. Despite a significant write-down and a recall, the core business is still doing very well.

For the quarter, NVIDIA paid out $52 million in dividends and repurchased $400 million in stock.

What is driving growth right now is its GPU business. Revenue for GeForce GPUs grew 51%, and NVIDIA has continued to see strength in the PC gaming sector. Fueled by the release of the GTX 980 and GTX 980 Ti, sales of high-end GTX GPUs “grew significantly” year-over-year. The Titan X would certainly fall in there as well, although unlikely at as high of volume. Maxwell has been a very strong performer, and gamers tend to go where the performance is. Souring the results somewhat is a decline in Tesla GPU sales, as well as Quadro GPU sales. Overall, GPU revenue was up 9% year-over-year to $959 million. Even as NVIDIA has tried to diversify with SoCs, their GPU business is still almost 85% of the company.

NVIDIA has found a niche in the automotive infotainment world, and that that area is still strong for them. Tegra has not taken off in the tablet or smartphone space in any meaningful way, but there was still growth in the automotive sales for Tegra. Overall Tegra processor revenue was down 19% year-over-year, which is mainly due to Tegra OEM smartphones and tablets. NVIDIA’s own Tegra sales in the Shield helped offset this loss somewhat, but as the recall filings showed, they only sold 88,000 SHIELD tablets. Margins are likely helped by the fact that they run their own SoC in it though.

NVIDIA’s “Other” segment is a fixed 66 million licensing payment from Intel, and as always, that is flat and does not change. This is from the 2011 settlement of a licensing dispute, and will end in 2017.

NVIDIA Quarterly Revenue Comparison (GAAP)
In millions Q2’2016 Q1’2016 Q2’2015 Q/Q Y/Y
GPU $959 $940 $878 +2% +9%
Tegra Processor $128 $145 $159 -12% -19%
Other $66 $66 $66 flat flat

For Q3 2016, NVIDIA is expecting revenue to be $1.18 billion, plus or minus 2%, with margins of 56.2% to 56.5%.

NVIDIA is obviously a giant in the GPU space, and that is going very well for them. Sales are very strong, and PC gaming has been a strong point in an otherwise weakening PC market. They are attempting to diversify to mobile, but have found out just how difficult that can be, and had to write down their modem division completely. Without a good integrated modem, it will be difficult to gain traction in the smartphone space, but NVIDIA’s current SoC offerings don’t seem well suited to smartphones anyway. Their strength in GPU knowledge has certainly helped them with the GPU side of the equation, but their first attempt at CPU design has not been as strong. We shall see what their plans are for the SoC space going forward, but for now they are riding a wave of strong GPU sales, and that is a good thing for NVIDIA.

Source: NVIDIA Investor Relations