nishantkumar | early bird gets the first question |
nishantkumar | AMD_Mike: Do u have any multi cores for mobile platforms? |
AMD_Mike | you can bet they're coming soon |
nishantkumar | AMD_Mike: cool! Intel is pushing it's Yonah soon i guess! |
nishantkumar | AMD_Mike: So! What do u guys do? |
AMD_Mike | my job is helping developers get the best performance in their code |
AMD_Sharon | I work on AMD's Developer Program, developer.amd.com |
i_am_here | hi |
AMD_Sharon | hello |
rajeshaz09 | hi |
vulture | it |
vulture | it's pretty early! |
lafernando | hii |
AMD_Sharon | One of the things that AMD is known for is our performance in games |
AMD_Sharon | We thought it would be a good topic for today to talk about some ways to optimize your code for gaming |
nishantkumar | AMD_Mike: So these optimizations, Are they part of the game code OR the gaming engine? |
prunthaban | which one AMD prefer? DirectX or OpenGL? |
Paschalis | Has AMD been approached by any console manufacturer to make the CPU? |
nishantkumar | AMD_Mike: Yeah! Does any console ship with an AMD core? |
AMD_Mike | there are specific techniques for getting the best performance on PC games |
AMD_Mike | multi-threading is a "biggie" right now |
Paschalis | Oh OK, my question was off-topic I guess |
AMD_Mike | and SSE vectorization for FPU-intensive code |
jagan_net | hello ... |
AMD_Mike | 64-bit native code can also have perf advantages |
rajeshaz09 | hi |
Faustus | AMD_Mike: where the FPU-intensive code is popular? |
prunthaban | But... the programming API should also make use of this techniques right? Thats why I asked DirectX or OpenGL? |
AMD_Mike | Things like physics, audio processing, and some character animation stuff all use floating point heavily |
jagan_net | hi AMD People ... |
rajeshaz09 | hi jagan |
prunthaban | Floating poing is used everywhere in gaming! |
AMD_Sharon | Hi jagan |
lafernando | yeah .. is directx or opengl aware of the AMD processors .. |
AMD_Mike | prunthaban: yes, the easiest way to implement optimizations is to use optimized library code! |
lafernando | I mean there're enhanced capabilities .. |
AMD_Mike | MIcrosoft's D3DX math functions are optimized |
jagan_net | Could u please tell me which language is good in Optimizing the code. |
AMD_Mike | Virtually all game developers use Microsoft Visual Studio. VS2005 rocks |
AMD_Mike | VS2005 supports OpenMP for easy multi-threading |
jagan_net | what about MOBILE Games ??? |
vulture | does the AMD Core Math Lib have stuff for games too? |
AMD_Mike | Also VS2005 has SSE compiler intrinsic functions, so you can write vectorized SSE that compiles for 32-bit and 64-bit... no more ASM needed |
Paschalis | thanks |
jagan_net | A |
lafernando | how's the multi core processors doing for games ? |
AMD_Mike | vulture: I haven't heard of anyone using ACML for games, but there may be some useful code in there. |
Faustus | AMD_Mike: re FPU-intensive code, do you mean that general-purpose CPU are now assuming the role of supercomputers and specialized hardware? |
prunthaban | D3DX is a utility library based on software! For example D3DXMatrixMultiply is entirely implemented in software! But.. nowadays graphics cards are coming out with hardware support for performing matrix multiplication with single machine instructions |
AMD_Mike | lafernando: dual-core is excellent for games |
AMD_Mike | lafernando: developers are just getting started exploiting dual-core, and already some games are 20% or 30% faster |
AMD_Sharon | CodeAnalyst would be useful in analyzing performance. It's a free profiling tool that we offer through AMD Developer Central. |
AMD_Mike | lafernando: the graphic drivers are threaded too |
lafernando | nice .. |
AMD_Mike | prunthaban: A lot of processing is done on the GPU now, but there is always stuff that's better done on the CPU |
AMD_Mike | AMD_Sharon: CodeAnalyst is really easy to use. It integrates with the VS2005 IDE |
prunthaban | But... Matrix operations are the heart of gaming! also matrix operations have great scope for parallel operations. So it is one area where a GPU can perform better. Correct me if I am wrong |
AMD_Sharon | We'll be showing a demo of codeanaylst and how it works at the Game Developers Conference next week |
AMD_Mike | If there is one thing to take away from this chat, it is "multi thread your code!". And check out OpenMP, it makes data parallel threading really easy. |
jagan_net | Hi AMD_Mike how is Java rated in Optimization |
Faustus | AMD_Mike: are there open source OpenMP implementations? |
AMD_Mike | prunthaban: The GPU is good for lots of 3D stuff. But the CPU is ideal for other jobs. One consideration: where is your data? If it's in system RAM, the CPU has fast access... you don't need to copy it across into the GPU's memory. |
AMD_Mike | Faustus: OpenMP is supported in GCC and all over the place. Check out www.openmp.org it's all an open standard |
prunthaban | Is AMD working on cooling the GPU? (Because excessive heating is the only complaint i hear against -otherwise the best- AMD) |
nimisis | Who are AMD? |
cbmcvey | hope the slide of the stock stops today :O |
AMD_Mike | prunthaban: I assume you mean cooling the CPU, not GPU? The stock cooler that comes with Athlon 64 works fine. Some after-market cheapies are marginal, but some are good. I always read the reviews on the web. |
AMD_Sharon | Haha, me too |
Faustus | AMD_Mike: nice to hear, although I see that GOMP is still not in GCC mainline from their site. |
ali_raza_shaikh | AMD_Mike: What Developers do at AMD |
hanvin | Can you give me more information about gaming optimization? Video? |
AMD_Mike | ali_raza_shaikh: There are several software groups. Library code, compiler optimization, ISV support... check AMD.com and look at the job listings, we're hiring 8-) |
prunthaban | Is it like AMD shifing its main focus from CPUs to GPUs? |
ali_raza_shaikh | AMD_Mike: Do u need developers for writing Drivers for the Hardware |
AMD_Mike | hanvin: There are presentations on AMD.com from previous Game Developer's Conferences, and lots of other optimization stuff. Plus GDC2006 is next week, look for new material soon. |
Faustus | AMD produces GPUs? |
simplysuperb_kn | Does AMD have its compiler too?AMD |
AMD_Mike | Faustus: No, we don't make any graphics hardware. |
AMD_Sharon | prunthaban: AMD works closely with graphcis companies like Nvidia and ATI, but we don't produce our own GPU, only CPU |
hanvin | Where is AMD Developers center located? How many employers so far? |
ali_raza_shaikh | AMD_Mike: ?? |
AMD_Mike | simplysuperb_kn: We recommend Visual Studio 2005 for games. It's an excellent compiler. 32-bit and 64-bit code, stable, excellent performance. |
ali_raza_shaikh | AMD_Mike: what about Microsoft XNA |
Faustus | What about ICC? :) |
AMD_Sharon | hanvin: We have a developer center located in Sunnyvale, CA, US |
AMD_Mike | ali_raza_shaikh: check amd.com job listings |
prunthaban | R u planning for a CPU which is "game centric" (better performance on games)? |
AMD_Mike | ali_raza_shaikh: it's all compatible with AMD |
simplysuperb_kn | What does compiler optimization group in AMD do then? |
ali_raza_shaikh | AMD_Mike: yes |
HybridBoy | hey could any tell me about linux for amd64 processor |
AMD_Sharon | prunthaban: Our Athlon FX is for gamers :) |
HybridBoy | i have found out one naming ubuntu |
ali_raza_shaikh | AMD_Mike: is there any AMD R&D? |
AMD_Mike | prunthaban: Athlon 64 is already extremely "game friendly" with the integrated memory controller and HyperTransport interfaces |
gautam2roy | hi, what are the challenges faced in games wrt video processing speed, which codecs do u use |
jagan_net | AMD_Sharon: whats AMD plan about $100 Laptop.....? |
prunthaban | you recommend Visual Studio 2005? You mean DirectX APIs specifically or in general? |
AMD_Mike | simplysuperb_kn: we work with compiler companies like Microsoft, gcc, PGI, etc. |
AMD_Mike | prunthaban: Visual Studio 2005 compiler. And of course the DirectX SDK. |
AMD_Mike | gautam2roy: I am not a codec expert. Lots of game devs use Bink. |
AMD_Sharon | jagan_net: AMD works with vendors and ODMs to make laptops at affordable prices... I'm not sure about $100 laptop, but we do offer a PIC, that is very inexpensive that can get people online |
Faustus | Does VS2005 C++ compiler produce better code for AMD processors than the Intel Compiler Collection? |
ali_raza_shaikh | is there any AMD R&D? |
AMD_Mike | HybridBoy: quite a few linuxes are AMD64 already |
AMD_Sharon | ali_raza_shaikh: Yes, AMD definitely has R&D |
gautam2roy | AMD_Mike: ok |
cbmcvey | what kind of R&D is going on? |
prunthaban | I think HLSL is more important nowadays? |
AMD_Mike | ali_raza_shaikh: AMD does loads of R&D for microprocessors |
gautam2roy | AMD_Mike: ok |
cbmcvey | any kind of optimization for games other than video? |
HybridBoy | could some one please name some of the available linux os |
ali_raza_shaikh | gr8 |
HybridBoy | is there any fedora version of amd64 ? |
AMD_Sharon | ali_raza_shaikh: I can't give too much away... but let's just say we are always working on making transistors smaller and the silicon running faster |
cbmcvey | HB: yes, I've got it installed |
AMD_Mike | prunthaban: silicon fab technology, CPU design, I/O, lots of others |
ali_raza_shaikh | Are you developing hardwares for Mobile Devices |
jagan_net | AMD_Sharon: How are Java Games compard to VS2005 |
mpaulse | HybridBoy: Most Linux distros supports AMD64 |
AMD_Mike | HybridBoy: SUSE, Red Hat, you can Google for others |
cbmcvey | HB: yes, any in CPU optimizations planned for Java? |
prunthaban | HLSL support is available in Intel compilers too. So why can't AMD go for a compiler which can be incorporated into Visual Studio? (For example Intel's HLSL compiler can be incorporated with VC++) |
AMD_Sharon | jagan_net: I'll have to let mike answer that question, I'm not sure |
AMD_Mike | HybridBoy: MSFT already supports HLSL, right? |
jagan_net | AMD_Mike: whether Java games hav the capability to Optimize the code of GAMES |
AMD_Mike | cbmcvey: we're always looking at hardware acceleration of important functions |
prunthaban | jagan_net: Java games cannot even go closer to VC games! The simple reason is VC++ can reach upto the core hardware and optimize! But java cannot... its security prevents it! |
jagan_net | AMD_Mike: with Hardware |
jagan_net | prunthaban: tks man |
lafernando | jagan_net: can u guys give us a forecast on what to expect from AMD in the future .. technology wise .. |
AMD_Mike | game developers use C/C++, compiled to native x86 or AMD64 code, for top performance |
AMD_Mike | lafernando: that is top secret information, my friend |
AMD_Mike | lafernando: expect dual-core everywhere, and quad-core next |
lafernando | jagan_net: hehe .. ok .. |
jagan_net | la |
AMD_Mike | lafernando: expect higher clock speeds |
Faustus | AMD_Mike: when you recommend VC++ for gaming, do you mean that you have evaluate it against other compilers, say, ICC, and find that it's better, or do you just "recommend it," as part of AMD company strategy? |
prunthaban | In past 5 years in my country(India) AMD has started dominating CPU market! Well done guys for giving cheap and best CPUs! As a true gamer... I look for more from you! |
cbmcvey | a little off game topic, but any plans to work with Apple to ship OSX Macs with AMD CPUs? |
lafernando | jagan_net: ooops .. sorry jagan .. not to u .. |
jagan_net | lafernando: ok |
AMD_Mike | Faustus: I have talked with many of the top PC game devs, and they all use Visual Studio. They are all moving to VS2005 also. |
vulture | I dont know about newer versions of ICC, but I always found VC outperformed ICC |
AMD_Sharon | prunthaban: Thanks! We are trying hard to please :) |
AMD_Mike | cbmcvey: If Apple wants to upgrade to AMD processors, we will gladly supply them! |
vulture | everything from VC6sp4+ outperformed ICC5 (and ICC produced buggy code back then too!) |
Paschalis | I like the use of the word "upgrade" :-) |
jagan_net | AMD_Mike: I want to Say that .. India has wide POOL of People who go for Low Cost and High Performance CPU so here AMD dominates ... Congrats to AMD |
AMD_Mike | prunthaban: The core team who designed the Athlon 64 are from India 8-) |
Faustus | vulture: well, it would be interesting to compare VS2005 against ICC9, when both compilers are hopefully mature. |
AMD_Mike | Faustus: Google around, someone may already have benchmarks posted. |
jagan_net | AMD_Mike: But can can Double its Presence in India with good plan becoz everyone is moving towards it.. |
vulture | jeez they're up to 9 now? gonna stick my money with microsoft still though! |
askumbhar | Does AMD develops some games ? |
AMD_Mike | askumbhar: no, we don't develop any complete games. We work with developers, though. |
cbmcvey | any thoughts to adding opcodes to the proc to help speed up AI within games? |
AMD_Mike | cbmcvey: hmm, any specific ideas? |
vulture | conditional branch hint predication? :) |
Faustus | vulture: well, you're going to pony up to MSFT whether you are using ICC on top or not... |
vulture | unless they added that I forget! |
askumbhar | how do you achieve , your CPU best for visual studio also and Linux also ? |
cbmcvey | well optimizations on state-based search somehow... calculation of heuristics... |
AMD_Mike | vulture: we have a pretty smart branch predictor, but there's always room for improvement. Interestingly, for some applications the branch mis-predict penalty is the most important thing... data that is inherently unpredictable like compressed files. |
cbmcvey | of course branch prediction, but looking for more in depth than that |
cbmcvey | seems like a good potential R&D candidate |
vulture | I dunno I think AI has a lot of conditional branches, you have to check markov-chain-like structures and other similar algorithms |
AMD_Mike | Faustus: Microsoft has "Express" versions of VS2005 which you can download |
cbmcvey | yes no doubt, but taking to the next level... |
mpaulse | Does AMD offer any TPM-enabled products at the moment? |
Faustus | AMD_Mike: do you use evolutionary computation for developing heuristics such as branch prediction in CPU? |
AMD_Mike | mpaulse: TPM? |
mpaulse | Trusted Platform Modules (for trusted computing) |
vulture | any thoughts of a mini-FPGA on CPU by chance? I don't know the usefulness or feasibility of that really, just curious :) |
AMD_Mike | Faustus: That is planned for Athlon 1024 in the year 2099 |
AMD_Mike | mpaulse: sorry, I don't know anything about that |
AMD_Mike | vulture: we have new mobile packages coming |
Faustus | AMD_Mike: I was serious... I meant whether such techniques are used in R&D for developing microcode heuristics parameters. |
vulture | mobile packages? |
AMD_Mike | Faustus: we have a huge library of code traces which are tested against various CPU designs... I don't know all the techniques that are used for creating the algorithms, though. |
cbmcvey | any other tools recommended by AMD for game dev besides VS2005 compiler? |
AMD_Sharon | vulture: I'm not sure about mini-FPGA, but our Alchemy processor line is for handheld devices and the like |
i_am_here | what is the future of multithreding |
AMD_Mike | cbmcvey: Yes! AMD CodeAnalyst profiler. It's free, and easy to use, and it does timer-based and event-based profiling. |
vulture | ok cool |
AMD_Sharon | i_am_here: Very strong future in multi-threading |
AMD_Mike | cbmcvey: CodeAnalyst supports 32-bit and 64-bit code, also. |
AMD_Sharon | i_am_here: multi-core will be everywhere, so multithreading will be highly relevant and mainstream |
i_am_here | what should be he currentcriteria for developing aplicatins rght now |
AMD_Mike | AMD_Sharon: Multi-threading is the #1 most important thing to take away from this chat... thread your code for dual-core, quad-core, and whatever comes next! |
cbmcvey | any plans for a native java chip? perhaps in your mobile line? |
AMD_Sharon | cbmcvey: I cna safely say that we are sticking to x86-64 based chips |
Faustus | AMD_Mike: do you think that libraries such as OpenMP are here to stay, or maybe we are to witness a programming paradigm shift as multicore systems become ubiquitous? |
cbmcvey | ok |
AMD_Mike | How many of you are developing games? |
mpaulse | I'm having problems accessing the download page for CodeAnalyst. It says "Portlet is not available: null. Reason: null". |
tywok | AMD_Mike: seems not so many |
cbmcvey | me. currently doing a java game |
jagan_net | AMD_Mike: I was developing mobile games but now iam developing Business Softwares |
cbmcvey | so interested in java optimizations in particular if any |
vulture | I'm developing game engines |
i_am_here | amd uses a non bus technique to communicate two cores what is that |
AMD_Mike | Faustus: Excellent question. I would love to see compilers get smart enough to thread code automatically... maybe someday. But OpenMP makes it _really_ easy to implement data-parallel threading. |
cbmcvey | hopefully the JDK will be optimized to take advantage of your multithreading improvements |
kauppi | i'm developing some kind of games but mostly for symbian/j2me |
jagan_net | AMD_Mike: i too look for Java Optimizations |
niko | I'm working on a physics engine, prob. be used in games mostly. |
cbmcvey | wonder how difficult it would be for you guys to piggy-back a native java chip on the side with your normal x86 chip |
cbmcvey | that would make apple do a double take since they are very java focused |
biacos | niko: really? i m'working with ODE |
tywok | how can you optimize a code for amd64 appart from compile flags? |
vulture | is there a 64-bit assembler for x86-64 ? |
niko | biacos: Cool, how's it going? |
brtzsnr | why is amd interested in topcoder? is the company looking for employees or interns? |
Faustus | cbmcvey: c'mon... Java is so yesterday. Look at TC competitions - most top-rated competitors use C++. |
jagan_net | AMD_Mike: Actually i used to Optimize JAVA programs with Native Codes(JNI) but its like abiding Java rules |
cbmcvey | yeah but rankings here are flawed |
cbmcvey | they don't gauge reusability, maintainability of code |
mpaulse | Faustus: Well, look at the design and development competitions :) |
biacos | niko: first step are insidious... what about your engine? (any links?) |
connisseur | cbmcvey plz tell how the ratings are flawed |
cbmcvey | I just did |
Faustus | cbmcvey: that's what everyone says... but did you try the Intel competition, where you have two weeks to develop code? Surprisingly, it's not less hard. :) |
AMD_Mike | tywok: excellent question. My white paper describes several optimization techniques. Our web site is having a bad hair day at the moment, but check this link later http://developer.amd.designreactor.com/articles.psml?id=1&num=1 |
jagan_net | AMD_Mike: ***One Question *** What do u look from a TopCoder |
tywok | how much would the perfomance boost' |
AMD_Mike | jagan_net: uh, not sure exactly what you are asking... |
cbmcvey | the site even admits it can't rank based on subjective things like maintainability, readability, etc |
niko | biacos: Nothing on the net yet.. I'll get there. Working on dynamics/rag doll stuff at the mo. |
cbmcvey | thanks for the chat Mike & Sharon. You guys keep up the good work. |
jagan_net | AMD_Mike: r u planned to recurit GUYs for AMD and What kind of Skills u look from Topcoders |
AMD_Mike | AMD_Mike: you can get 10%, 20% or more gain in certain 64-bit code because of all the extra registers. |
biacos | niko: interesting... we will talk after the match! |
niko | biacos: kk |
AMD_Mike | jagan_net: I am not a hiring manager, but a solid track record and good communication skills are always a plus. |
jagan_net | AMD_Mike: Good Thankx |
AMD_Mike | Good luck to all! |
niko | jagan_net: Cool, so there's emphasis on communication too, not just "geek" skills... |
cbmcvey | thx |
tywok | thanks! |
askumbhar | Thanks a lot for sharing nice , useful information |
jmpld40 | thanks Sharon and mike |
jagan_net | AMD_Mike: yup good luck to all |
niko | Yeah, tnks. gl everyone. |
AMD_Sharon | Thanks everyone! Good luck with the Competition!!! |
jagan_net | AMD_Mike: thankx to rep's from AMD |
vulture | thanks |
nishantkumar | AMD_Mike: Thanks guys! |
askumbhar | thanks...also best luck to All |
AMD_Mike | jagan_net: yer welcome |
AMD_Sharon | Maybe we'll see you in Las Vegas :) |