Attila Project
From AttilaWiki
The Attila Project goal is to research and develop high performance microarchitectures for the next generation of GPUs. To this end, the team has started by exploring the performance of the current generation (R580, G70, G80) of rasterization-based GPUs. So far we've produced a full GPU (soft) stack: an OpenGL driver, an Attila driver, and a cycle-accurate simulator of the first incarnation of the Attila architecture. Additionally, the team has produced helper tools to capture open GL traces, play the captured traces and a WaveForm visualizer for the Attila simulator.
We are currently working on a DX9 driver, which will share many components with the OpenGL driver. To this end, we're layering the existing OGL driver into a lower common layer that will support both the DX9 and OGL specific layers.
Take me to the Snapshots!
The Attila stack can run a number of OpenGL games on top of the Attila Simulator. We dump the contents of the frame buffer produced by the Attila GPU at the end of each frame and turn them into short videos. The Snapshots are here.
Current Research Topics
Victor Moya is looking for a reason to start writing his PhD dissertation after 'wasting' a couple of years working on certain 'uninteresting' project at Intel. He has been lately helping Albert and Vicente to fix bugs in the new drivers, add or fix support for new features in the ATTILA architecture required to support D3D9 based games, implementing the ATTILA functional emulator to improve driver development time and other miscellaneous stuff that doesn't improve his chances of finishing a PhD. Eventually he may take another look at the general shader architecture with the purpose of filling pages in the PhD dissertation.
Carlos González has developed a detailed GDDR4 memory controller based on specs of Hynix and Micron modules. Carlos is currently looking into scheduling techniques to improve bandwidth and latency of current GPU memory controllers.
Jordi Roca has started looking into rendering micro-polygons with a classic rasterization engine and what changes would be needed to better support micro-polygons in a commercial GPU.
Albert Murciego is developing our new D3D9 driver based on the ATTILA common library layer(ACD). He has implemented support for Crysis and Call of Duty 2. He will be improving our D3D9 driver to add more D3D9 games.
Vicente Escandell is developing the ATTILA common driver layer (ACD) and the new OGL driver based on it. The new OGL driver supports Doom3, Quake4 and Prey but support for UT2004 was deprecated (due to being fixed function based, not shader based and already quite old) and Chronicles of Riddick has not been tested. Both should work with the old OGL driver until it breaks down due to lack of support :). He has implemented support for Enemy Territories: Quake Wars in the new OGL driver. Right now he is looking for new OGL games or applications (good luck on that :P) and the viability of implementing glslang support in our OGL driver.
Chema Solís implemented our early version of the D3D9 driver that was able to run Half Life 2 traces. Our new D3D9 driver based on the common driver layer (ACD) has been using some of the early D3D9 infrastructure he developed (D3D9 PIX trace player, D3D9 interface classes, shader translator).
Recent News
Subscribe to attilasim@yahoogroups.com for up to date news on attila by sending an email to attilasim-subscribe@yahoogroups.com
- 2010.01.14 We decided to release the full source code for the ATTILA open source version (released three years ago). This includes the source code for the ATTILA OpenGL library and OpenGL trace capturing tools in their 2007 incarnation. You can get the archive with the whole packet from the Downloads section.
- 2010.01.14 Take your pick (updated)
- 2009.12.06 UT3 working
- 2009.11.16 OpenGL isn't dead yet, though it may be soon :(. Few new games using it and we don't have a good solution for glslang. You can thank Vicente for this shot.
The D3D9 library is also progressing. One shot from Call of Duty 2.
- 2009.10.08 Current Crysis state with the new Direct3D driver:
- 2009.09.14 Coming soon ...
- 2008.05.07 See this really cool video of Attila rendering a HL2 frame batch-by-batch. The video is recorded directly from the desktop and the speed you see corresponds to the speed of Chema hitting the "next batch" key :-)
- 2008.04.25 D3DDriver works much better because Victor Moya fixed an important bug in the GPU simulator driver. See the D3DDriver evolution page.
- 2008.02.06 Due to the recent intruder detection, the Attila Wiki Site account creation and edit permissions have been restricted. Now, only sysops can create new accounts, and only such logged/registered users can edit or create new pages. If you want to collaborate adding new GPU related information to the Attila Project, please e-mail any of the Team members to get your account and edit rights. We look forward to any valuable contribution.
- 2008.02.04 Christian posted his Master Thesis (in spanish) on Color Compression in the Publications section
- 2008.01.30 Chema added texture filtering to the DX9 driver as well as Z and Stencil test support. See full details in the D3DDriver evolution page.
- 2007.12.07 Chema extended the DX9 driver to read correctly all texture formats, including DXT*. Cube and Volume Textures supported also. See full details in the D3DDriver evolution page.
- 2007.12.05 DX9 news: Some 2D Textures supported, memory layout is the expected by gpu now. Pixel Shading working and Alpha blending is now ready. See full details in the D3DDriver evolution page.
- 2007.11.29 DX9 news: Vertex Shading stage working, so geometry is projected correctly. Some 2D textures supported, but memory layout is not the same that gpu expects. See full details in the D3DDriver evolution page.
- 2007.05.30. Web Site opens!





