Another question to PSCNV developers. Have you raised your concerns about Gallium quality in the mesa-dev mailing list? (in other words: are you trying to work in silence without opinion sharing?) The fact that Phoronix knows your opinion on Gallium but the Gallium maintainers don't is rather sad and nonprofessional.
The State, Direction Of The PSCNV Nouveau Fork
Collapse
X
-
Marek, what do you mean? Pscnv is opensource, you can find it in the github repo. If upstream wants the changes it has to port it over. Given that many of the pscnv developers are also nouveau developers we will see this porting sometime in the future. But you _have to_ fork a project when you crush certain design decisions of the upstream project, you can't criticize the current design without having a superior solution. So developers need some type of playground to see if their ideas work out.
When other parts of the graphics stack have to be modified it will be done in the project repos of that particular part. Many of the concerns about gallium have been brought up on the mesa-dev list over the last months. Why should persons don't express their opinion about this publicly when they are simultaneously working on fixing the issues?
Comment
-
-
sifnt: Thanks, we are also exited about using GPUs do offload some calculations to it.
HMPP is all about using compilers to generate GPU code and all the synchronisation needed for you. You just tell what part of the code you want to offload and it will magically be offloaded
Marek: The kernel driver, libdrm and the (very slightly modified) ddx are and will stay open source. As for mesa, they are working upstream as they have commit access.
For more information, you may ask to codestr0m on IRC (#pathscale on freenode)
I'm not a Pathscale official, I'm just helping them with pscnv, accelerated X (I failed on that, I have a stupid bug that prevents everyone from using it, there are no texture. Someone else hacked-up another libdrm and it works but it is a bit slower.) and Power Management (I'm doing a better job but I badly need more skills and knowledge).
I promise I'll try my best to merge everything upstream ASAP. My libdrm work was in this direction (libdrm would support either nouveau or pscnv by detecting at runtime which one is loaded) and Power Management is developed on nouveau (for testing and userbase) and is integrated as is in pscnv.
Lynxeye: We are not currently changing anything in gallium, the only work done on gallium is hacking up a small support for 3D on Fermi. It kind of works but it is far from completion.
Everyone: If you want some info, please join us on IRC (#pathscale on freenode) and ask your questions.
Comment
-
-
clarifying a few points on pscnv and my personal comments
Sorry I'm late to this thread and will try to clarify things.. (also apologies in advance for the mixing up quotes)
>I hope they don't go around re-doing everything because they think "it sucks" and their work just gets lost on it all, or gets very hard to use because they patch things everywhere.
>This fork smells like Reiser4 all over: PathScale may come up with something which performs on a Fermi GPU, but their efforts do not seem to be very well integrated with the rest of the open source crowd
>looks like radeonhd not taught them that incompatible user-alienating ununified community-dividing graphic driver forks are shortliving, useless and disrupting.
>there may be technical reasons for reinventing the wheel, but they must be aware that this sort of insular development
> isolated from most of the OSS community is usually doomed from the outset.
>I don't think PathScale has any intention of creating a generally useful driver for the benefit of the community at large.
>Specific people may find specific advantages for a limited set of hardware (NV50 or newer), but they seem uninterested in the 3d stack. They then tell us that they're looking to add OpenGL 4 support, which is an extremely dubious claim, even for a big company. What, are they just going to build their own 3d driver from scratch on top of their own custom kernel memory manager? How many people do they have working on this project?
>
>And a compiler company, to do all this? Maybe they should stick with compilers for the CPU. They don't seem to understand how the open source world (or the graphics device driver world, for that matter) works.
>
>But hey, people who want really fast 2d on their new awesome $500 Fermi card can grab pscnv and be amazed at the glorious non-composited desktop (that a $15 Intel chip can do equally well)...
>And HMPP is proprietary software,
Our multi-CDN technology works at multiple layers to go past synthetic benchmarks and guesses to ensure that your users and your CDN of choice are running optimally
>so it looks like your interest is in enabling this open source driver to actually outperform the proprietary NVidia driver, with the goal of selling more licenses of your proprietary software. Nice, but again, this is not something that will appeal to the open source community.
>
> Good luck to you guys, I'm sure you will sell some licenses to some big-name companies for this, but don't expect much in the way of community enthusiasm or opportunities for making it to the mainline Linux kernel.
>Heh... the article makes it seem like Christopher Bergstr?m wrote "OpenGL 4" in his email:
>One question though is that if your efforts are successful and you improve certain aspects of the driver will the two projects ever merge back together. If not why not?
a) A couple of the main nouveau devs would really have to let TTM get refactored out. (We still conform to the GEM interface)
b) The technical challenge of merging the code (which has diverged quite a bit)
c) Graphics support for nv50 and pre-nv50 cards would have to be improved (I think this is totally possible, but I don't know how much work)
>But please remember that if you do merge with nouveau, do some performance comparisons on the 3d side for a while to determine whether you are negatively impacting that. I don't think very many users would appreciate (hypothetically) a merge with nouveau that improves GPGPU performance at the expense of 3d.
>Craig73 I really appreciate the work they are embarking on...
>Just a little question. You are replacing a lot of components in the current graphics stack. Which of those will be open-sourced and pushed upstream?
>Another question to PSCNV developers. Have you raised your concerns about Gallium quality in the mesa-dev mailing list? (in other words: are you trying to work in silence without opinion sharing?) The fact that Phoronix knows your opinion on Gallium but the Gallium maintainers don't is rather sad and nonprofessional.
Comment
-
-
Thanks for the answers, the whole situation is now clearer to me.
Yeah I recall some discussion on mesa-dev. I think it was just indirect addressing using pure temps and not temporary arrays and therefore making some optimizations unapplicable (and the whole temporary file had to be spilled out needlessly on nv50). But it's something that can be fixed.
I don't think TGSI is going to be replaced. It's just a "transport" representation for sending shader code from one component to another. It's not supposed to be used for code transformations (optimizations, etc.). Instead, a driver should convert it to whatever internal representation it needs and do any transformations there. If this transport IR (TGSI) does not contain enough information to have full hardware support and being able to do all the optimizations you need, it should be extended to meet your requirements instead of rewritten.
Comment
-
-
My understanding is that the Pathscale work is aimed at completely different goals from Nouveau (an HPC compute runtime vs. a graphics driver stack) so forking the code while pushing stuff back and forth where possible may be the most efficient approach during the initial implementation.
There are basically two options :
1. Only implement changes which are fully compatible with the existing graphics code, which arguably limits what you can do with compute
2. Implement what you think is best for compute, then periodically go back and see what can be shared or made common between graphics and compute
It's probably worth reading up a bit on the programming model Pathscale is implementing... it might help to explain why implementing in a separate code base probably makes sense, at least for now.Test signature
Comment
-
-
Looking forward to see the outcome of your efforts guys. It's nice to see someone finally get the ball rolling on GPGPU computing with an opensource solution. It is a pity that despite the openCL spec being out for a few years now and being completely open that it is just now someone is seriously addressing it in the opensource community.
Comment
-
Comment