I have a hard time understanding why is the New tool NEXUS Only for windows ? Given the importance of Linux in HPC market, it would make sense to make an ECLIPSE compatible version or maybe somehow make a stand alone version of NEXUS for linux…
I know about cuda-gdb but nexus offers more wide range of capapbilities and its much easier to use (I hope) …
At the GPU developer conference, the NEXUS session had the developer apologizing that this was windows-only because it tied into Visual Studio’s plugin extension system, but Linux GDB support was certainly not ending in any way.
He also asked for an opinion of a possible feature… allowing remote debugging of Linux GPU apps (from Nexus on a Windows host). He wanted to know if that would be useful or not.
I understand his point… I last used Eclipse about a year ago, and it didn’t feel as if it could handle such a complex extension like Nexus. Is that still true?
GDB works and is an old friend, but it’s also a different UI, mindset, and even design than an integrated envionment like VS or XCode or even Eclipse.
+1 to have something alike on Linux and Mac too; very disappointing if that kind of tool remains Windows-only.
EDIT: As people are kind of voting for the type of the integration - I’m more for stand-alone program, something like CUDA Visual Profiler extended, with debugging support included (maybe even Kdbg code could be utilized for debugger integration). Of course, an Emacs extension would do much better, but I guess chances are small for something alike :)
+1 Asking for this DEFINITELY to be done in Eclipse on Linux. Introducing a Windows box into the workflow is not the right way to go for anyone developing a Linux-based GPU app. Eclipse is a critical piece of development environment outside of Windows environments, and needs to be supported.
BIG NO from me for remote access , hampers stream line application development, complicates your program setup + its a cheap way to solve the problem
as for SPWorley question, am not a hardcore ECLIPSE user (I use eclipse and gedit-self-modified ) but eclipse has evolved a lot and can handle such extensions with minor modifications. Its one of the best ide out there in-spite the fact its free…
Hmm hopefully the total view product will be free of cost…
still I feel like this move of nvidia… was to target windows user not familar with gdb. But they should not get windows specific it will hurt in long run ( we all know how Microsoft plays the game ). We all could befit from a debugging tool like nexus, but am not shifting to VS just for that… its like bloatware ;) (personal opinion)
I don’t follow that reasoning - if user base is going to be mostly Windows (which I doubt, BTW), what this has to do if the developers base is mostly Unix? Users won’t need to run Nexus after all. Also - I don’t know about other people’s experiences, but I found CUDA code to be very portable - I was regularly developing on Linux only, and have my code deployed, by other people, on Windows, and working without any issues.
The only sad thing about this is the poor software engineering choices made by nVidia for their debugging framework. I realize NV isn’t a software company, but this really does show plain and simply ignorance combined with poor software engineering on their part… to lock down their debugging framework to a single driver model.
I realise VS integration is windows only, but the fact their debugging framework in general appears to be - wow… instant loss of respect if this is, and continues to be the case.
As for integration into other IDEs, I think that’s somewhat irrelevant - nVidia should really only be developing a single debugging API (to handle device debugging control & symbol lookup/enumeration), which third parties can use to integrate into whatever products they wish.
Edit: I made this sound far more abysmal than it likely is. I can’t think of a single reason as to why their device debugging capabilities would be OS-specific, so it’s probably just poor marketing and lack of development transparency that’s making things look FAR worse than they really are…
But that’s to be expected with corporate companies I guess, transparency often leads to expectations, and when they can’t be met - stock goes down… sales opportunities are lost… people lose jobs…
It’s currently Vista/Win7 only. Will it continue to be that way? I actually don’t know, probably depends on the demand. Not sure why having to upgrade an eight-year-old OS is such a huge problem, though. The debugging framework is the same as cuda-gdb, it’s just there are a lot of driver hooks that are driver-model specific. I assume they just had to make a choice early in development whether to focus on XP or move to Vista/Win7 for the first releases. Considering the age of XP and its lack of D3D10, I don’t think they made some sort of indefensible choice.
Will it eventually support Eclipse? At the moment I hope not–considering how few people I know that use Eclipse for CUDA (or even C) development, there are definitely better places where those resources could be invested. (none of the devtechs use it for CUDA or OCL, nobody on the driver team uses it, nobody on the cuda-gdb team uses it)
I’m assuming you mean the nexus client/server are currently Vista/Win7 only… but then you say they’re using the same debugging framework as cuda-gdb, this somewhat implies the framework isn’t WDDM specific at all, just some specific features Nexus is using (presumably for remote debugging?) are… Which makes things sound a lot more promising :)
Also great to see work on debugging APIs is being done :D Although I suspect this might not trickle down into an end-user API available to everyone, but rather something requiring NDAs, marketing ties, and the likes - maybe not even via nVidia, but via Allinea? Not that it stops anyone serious from accessing it - I just personally suspect various FOSS projects (eg: MonoDevelop / Eclipse / NetBeans) may have issues accessing it in that case. (which isn’t really your concern I guess)
I have to disagree here. While I see that its actually not to much benefit to use Eclipse for pure CUDA programs, I feel it makes things much more comfortable when working with large c++ object-oriented Projects which use CUDA code as well. I.e. I am working on porting the compute intense parts of a 200k line C++ code to CUDA. Basically I derive objects from the already existing ones, where I add the necessary setup stuff for CUDA and call external C routines (CUDA) for the compute intense stuff. So far me and a colleague we have rewritten roughly 150 functions spread over 15 Classes.
Sure I could do that as well with an editor like kate or emacs and using the console for debugging. But in my point of view its much more comfortable to use eclipse. I mean in the end you support Visual Studio since it is a good IDE in windows. So I sure would like to see Eclipse support since that is one of the best (if not even the best) IDE on UNIX. On the other hand I guess the problem will solve itself in time, since someone will probably write the necessary extension for eclipse - afterall C++ support in eclipse is only an extension in itself.
edit: Btw. with the upcoming full c++ support in CUDA a good IDE support gets more important in my opinion.