Tackling the worrying dependency trend. #663
BertramRaven
started this conversation in
General
Replies: 1 comment 1 reply
-
|
Hi,
Thanks for your email, I understand the frustration.
Unfortunately, there are no plans right now to start an effort to implement SYCL (or similar vendor-neutral) support. Not because we have anything against that, in fact it would be helping Project Chrono a lot. However, as far as I can tell, we do not have the bandwidth and financial resources to do so. Going with CUDA was the pragmatic choice – back in the day it almost entirely owned the market when it came to scientific computing (both hardware and software environments).
That being said, one way this can change is if good folks decide to contribute and work on a module, and then share with the rest of us. Then the effort of one, will benefit many. This doesn’t pertain to the entirety of Chrono, but specialized modules, like for FEA, or CFD, DEM, etc., which can be tackled one by one.
Thank you again for your thoughts, happy 2026!
Dan
---------------------------------------------
Bernard A. and Frances M. Weideman Professor
NVIDIA CUDA Fellow
Department of Mechanical Engineering
Department of Computer Science
University of Wisconsin - Madison
4150ME, 1513 University Avenue
Madison, WI 53706-1572
608 772 0914
http://sbel.wisc.edu/
http://projectchrono.org/
---------------------------------------------
From: BertramRaven ***@***.***>
Sent: Saturday, December 27, 2025 9:21 AM
To: projectchrono/chrono ***@***.***>
Cc: Subscribed ***@***.***>
Subject: [projectchrono/chrono] Tackling the worrying dependency trend. (Discussion #663)
I apologise for the length of this discussion introduction, but I feel it necessary to make the background and reasoning clear. In particular, the distinction between cross-platform (Windows/Linux/BSD/various RTOS) and cross-vendor (Intel/AMD/nVidia/ARM Cluster etc).
Despite the core of Project Chrono being committed to cross-platform support and avoidance of vendor lock-in, the majority of high profile modules are dependant upon nVidia only libraries for parallel compute on GPUs and do not support non-GPU acceleration of parallel compute. At one time it was simple, comparatively, to unpick this dependency. However, nVidia has by degrees tightened the noose on integrating their libraries to the extent patching the code for each module release is no longer a feasible strategy. Indeed, this has forced our own projects to drop Project Chrono extension modules and develop our own without such vendor lock-ins. Once this began, it became clear there was an advantage to developing our own core library with cross-vendor parallel and distributed compute baked in using SYCL.
My opposition to this is an expectation the Project Chrono community would stop rewarding companies such as nVidia through continued vendor lock-in in a such a high-profile project, and begin developing for and actively contributing to true cross-vendor parallel and distributed compute. Especially now nVidia's roadmap has dropped enhancing parallel compute for anything other than "AI."
At this time I see no such commitment on the implied Project Chrono roadmap.
My questions are therefore:
1: Do the Project Chrono maintainers intend to eliminate vendor lock-in?
2: If so, on what timescale? (Is there an official public roadmap?)
3: Will this be SYCL? (To eliminate the need for vendor specific code in Project Chrono)
On the third point, I am aware SYCL, although cross-vendor, is to my knowledge not yet fully cross-platform as a result of vendor SDK platform coverage pre June 2025. However, has changed rapidly following AMD's commitment to completing cross-platform ROCm implementations rather than just a subset. By the time vendor lock-in is engineered out of Project Chrono, all major parallel compute platforms will be covered. (That may already be true as I write this, but I have not had time to review the most recent Intel and AMD parallel compute SDK's.)
—
Reply to this email directly, view it on GitHub<https://urldefense.com/v3/__https:/github.com/projectchrono/chrono/discussions/663__;!!Mak6IKo!K1L5WNjE4Xe-UvmOJqIXig-CkM96pHX6VHx6SCzu0SiyTWsMyRdSC7ZkW4Gz9_eUnEmgjzhQ-uDskC7g1iinsZ8$>, or unsubscribe<https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ABKUN42GP5N72DYEHBIDCWD4D2PXFAVCNFSM6AAAAACQD4NN62VHI2DSMVQWIX3LMV43ERDJONRXK43TNFXW4OZZGI4DMMJXGM__;!!Mak6IKo!K1L5WNjE4Xe-UvmOJqIXig-CkM96pHX6VHx6SCzu0SiyTWsMyRdSC7ZkW4Gz9_eUnEmgjzhQ-uDskC7gX2VR5EY$>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.******@***.***>>
|
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I apologise for the length of this discussion introduction, but I feel it necessary to make the background and reasoning clear. In particular, the distinction between cross-platform (Windows/Linux/BSD/various RTOS) and cross-vendor (Intel/AMD/nVidia/ARM Cluster etc).
Despite the core of Project Chrono being committed to cross-platform support and avoidance of vendor lock-in, the majority of high profile modules are dependant upon nVidia only libraries for parallel compute on GPUs and do not support non-GPU acceleration of parallel compute. At one time it was simple, comparatively, to unpick this dependency. However, nVidia has by degrees tightened the noose on integrating their libraries to the extent patching the code for each module release is no longer a feasible strategy. Indeed, this has forced our own projects to drop Project Chrono extension modules and develop our own without such vendor lock-ins. Once this began, it became clear there was an advantage to developing our own core library with cross-vendor parallel and distributed compute baked in using SYCL.
My opposition to this is an expectation the Project Chrono community would eventually stop rewarding bad behaviour by vendors, in this case nVidia, by eliminating all vendor lock-in and developing for and actively contributing to true cross-vendor parallel and distributed compute. Especially since nVidia's roadmap has dropped enhancing parallel compute for anything other than "AI."
At this time I see no such commitment on the implied Project Chrono roadmap. Reading between the lines, the responses to forum posts seem to imply vendor lock-in is considered a non-problem.
My questions are therefore:
1: Do the Project Chrono maintainers intend to eliminate vendor lock-in?
2: If so, on what timescale? (Is there an official public roadmap?)
3: Will this be SYCL? (To eliminate the need for vendor specific code in Project Chrono modules.)
On the third point, I am aware SYCL, although cross-vendor, is to my knowledge not yet fully cross-platform as a result of vendor SDK platform coverage pre June 2025. However, this situation is changing rapidly following AMD's commitment to completing cross-platform ROCm implementations rather than just a subset. By the time vendor lock-in is engineered out of Project Chrono official modules, all major parallel compute platforms will be covered. (That may already be true as I write this, but I have not had time to review the most recent Intel and AMD parallel compute SDK's.)
Beta Was this translation helpful? Give feedback.
All reactions