Domain: codeplay.com
Stories and comments across the archive that link to codeplay.com.
Comments · 21
-
Re:openMPand what the difference between this and openMP ? On the page 7 of The Codeplay Sieve C++ Parallel Programming System, 2006 you'll find section that describes "advantages" of codeplay over openmp, but nothing terribly exciting. Codeplay allows you indeed to better automatize parallelization but is at the same time also limited to a narrower set of optimizations compared to openmp.
-
Re:What's the big deal?
Last game company I worked at used MS C Compiler and http://www.codeplay.com/ VectorC{PC} which is a very nice compiler indeed, and comes in a PS2 flavour, which is what you want if you're making cross platform games!
-
Re:Black Art? Uh...
Also, the VectorC compiler by CodePlay is useful for using a C compiler that can generate SIMD for MMX, SSE and 3DNow!.
,br> But really, at the end of the day, what's so bad about assembly? I mean, if you inline only those (relatively small parts) you need to optimize, and let the C compiler handle all the symbol table stuff, it's not that bad. We're not talking about developing a full app, including GUI, in straight Assembly from scratch. -
Re:centar
their floating point is kinda weak.
exactly 1/2 main clock speed to be precise, on my 533MHz Eden. They do have a full speed 3dnow unit which I consider a silly decision, because software support for it is almost non-existant, otherwise it requires a very good compiler.
-
Re:Broken link, java jab
You can also compile your numeric code into blitz(optimized C++ templated libraries) which are pretty speedie(2-4* faster than numeric).
http://www.scipy.org/site_content/weave
Then get a good vectorizing compiler like vectorc. Which can often produce much faster C/C++ output compared to gcc.
Then you have far better speed than java, more readable code, in less time. Yah! multiple languages win again :)
Of course for a distributed FP program, maybe java is better for the results, as I heard earlier the fp ops are equivalent on different architectures. Whereas even on x86 different machines give you different fp results.
Now if only I/someone could get around to finishing that runtime assembler optimizer for numeric...
Have fun! -
Re:GCC Compatable?
I assume that there's some good reason(s) to run the intel compiler vs gcc. I would guess that it involves specific optimizations for Intel chip(set)s. Am I wrong? Is there more(or less) to it than that?
Yeah, that's about it. GCC continues to produce mediocre code for the P4 and Itanium. (The latter's very significant - some reports of 50% slower.) There are efforts to fix this but Intel has a significant lead.
The other advantage is vectorization - Intel's compiler makes much better use of MMX/SSE/SSE2 than GCC does. I don't know how ICC compares to VectorC but I'd guess they'd have the edge back by now. -
Vector C
Everyone is excited about this but the only thing is that it's really not that important because you still have to have a compiler. Until other graphics card manufacturers make Cg compilers this won't really be a standard and still an nVidia solution.
Besides there are already C compilers that will turn your normal C code in to vector code. For PS2 and 3D-Now/SSE instructions. Check out codeplay for more info. Yes you have to pay for it. They don't have a compiler for the DirectX shading machine yet but this proves that they could. It's not like we have to invent a new language for every machine. -
Re:Inefficiencies
At that point, Cg will have to become a "real" compiler. Let's hope nVidia is up to the task...
That is precisely my problem with Cg. It's very limited, aimed specifically at their hardware. Yet graphics hardware is becoming much more generically programmable than this (already was, the PS2 had a more generically programmable pipeline a whole year before Nvidia hit the market with programmable shaders).
All Cg is is the easy bits of C (to make a compiler for) and a bunch of missing stuff with intrinsic functions to do the vector/shader bits. It's just as easily done with a full C/C++ compiler, and already has been by my company.
Surely Cg will be seen for what it is, a short-sighted proprietary system for supporting their hardware from a company with no experience in producing cross-platform high performance vectorizing compilers for game developers.
The game companies that have come out in support of this are all PC/Xbox based obviously. There Cg is basically an easier-to-use authoring tool for the dominating hardware's shader features.
Generic language for computer graphics this is not!
-
Commercial compilers on Linux = GoodQuite a lot of this ground has been discussed in the story I submitted Does Linux Need Another Commercial Compiler?. That being about my company's consideration of porting VectorC {PC} to Linux. It'll just be provided with the Windows version.
The upshot of that discussion was that VectorC {PC:Linux} is sheduled for release in April this year. That being based on our 2.0 engine so with C++ compatibility (currently VectorC is C only). While there was (unsurprisingly) a load of anti closed-source rhetoric in public, we did recieve a good number of serious private enquiries from people looking for a compiler such as ours on the Linux platform. It was enough to form a view that the platform is viable for us.
Ultimately I can't see any serious argument against having development tools such as these (Borland C++ and VectorC) on Linux. While it's likely of less interest to the open source/free evangelists wanting everything for free, there's definately demand where Linux is increasingly being used as an industrial platform.
Codeplay looks forward to competing with Borland on Linux.
Mat Bettinson - Codeplay Ltd.
-
Re:Software OptimizationThe compiler authors don't have time to make processor-specific optimizations for every single flavor of x86 architecture out there;
Some compiler authors do not. My company treats processor-specific optimizations as a core feature especially when it comes to SIMD implementations. Intel C/C++ 5.0 does some vectorization for Intel CPU features. Our compiler, VectorC, is designed to vectorize real-world media operations for all CPUs on the market today.
CPU specific binaries come out of the compiler essentially for free. One can either use libaries or seperate executables for the equipped CPU. In our view these still far too much generic compilation of performance sensitive code.
AMD's recent domination of performance to price ratio has also made some unlikely new friends. Namely that of distributed Linux-based high performance and scientific computing. Formerly Intel based platforms with the Intel compiler, now there's another option to consider - AMD based machines with our compiler. Especially when we have C++ at any rate.
-
Re:What's needed
-
Benchmark questionsFirst, do the benchmarks, and see if it's needed/useful under Linux (I'm sorta assuming x86 here). The benchmarks page mentioned above (it's here, btw) lists their VectorC compiler, Intel's compiler, and MS Visual C. Add a column to that labeled "GCC 3.0". Let me see just how much of a performance boost I'll get out of your product over the one I'm using (as opposed to these other products I'm not using).
Yeah, this'll probably require doing much of the porting work before determining whether there's a market for it. It's called R&D, and it does sometimes lead to dead-ends. Deal.
-
Re:Another Compiler
The real strength, however, is CodeWarrior's optimization and code generation.
Hello Metroworks guy!
You may be able to shed light on something which I found odd. You're aware Criterion in the UK distribute Metroworks products in Europe? You may also be aware that they make the Renderware middleware engine also.
I was quite interested to learn that they don't use Metroworks to compile Renderware, despite being the distributors. They use the Intel compiler. Why is that do you think?
I'm just interested, not looking for an arguement on the merits of our respective compilers. Your compiler is lofty goal for us to aim for. We have a version of the interactive demo with Metroworks in it and we were quite surprised by how well Metroworks did in those tests versus Intel and MSVC! I must put that on our site at some point, since it's especially relevant for game dev stuff.
Mat 'Lurks' Bettinson, Codeplay Ltd.
-
Link to their prices...
Lurks, I'm surprised you didn't do this.
$750 for the professional edition and $80 for the standard. That's more than reasonable a cost for the product. I'd at least buy the standard edition for Linux if it were available for both x86 and PPC. -
C++ support schedule is too optimistic
"An interim release of VectorC with preliminary C++ support is due in Q4 2001. VectorC 2.0 with full C++ compliancy is scheduled for release in Q1 2002."
Even if Codeplay was to use the Edison Design Group C++ front end -- highly likely, as it's famous throughout the industry as an extraordinarily compliant, high quality front end, and seemingly a perfect match to the existing VectorC back end -- I'm highly skeptical this schedule could be met.
On the other hand, a lot of performance-minded projects stick with plain C. (I'm not commenting on whether or not that's the right decision; I'm observing what decisions are made in the industry.) -
Free Demo (was Re:You'll need to do the thinking.)
If there is no free (as in beer) version then how can one decide if the performance benefits are worth the $$$ ?
This page has a freely downloadable demo version, which only compiles 3 functions in a single source file, so that you can at least see if it does better than your current compiler.
However, you should get better performance the more of the code you compile with VectorC, as you can select different calling conventions using MMX, 3DNow or SSE, avoiding switching in and out of those modes between functions (with all the inherent copying in and out of the extended registers). -
Their advert..
Have a peek at the advert on their homepage.
Nice parody of the Ronseal ad seen in the uk a while back.
Mr Spams -
Re:Intel Compiler
*SHAMELESS PLUG WARNING*
Have a look at the benchmarks for vectorC {PC}. (disclaimer: I work for this company).
It supports more than just Pentium. On average, the code it generates is 100% faster than Intel C/C++ (even on Intel architectures).
We're contemplating a Linux port (we have a PS2 version in the works, and converting that to produce ld-compatible object files isn't really that hard, hell, getting the Windoze version to produce ld-compatible object files isn't that hard, we just need to use the right calling convenctions).
If you really want a Linux version of this (and you know you do), register an account and let us know... if there's enough demand....
-
Re:Intel Compiler
*SHAMELESS PLUG WARNING*
Have a look at the benchmarks for vectorC {PC}. (disclaimer: I work for this company).
It supports more than just Pentium. On average, the code it generates is 100% faster than Intel C/C++ (even on Intel architectures).
We're contemplating a Linux port (we have a PS2 version in the works, and converting that to produce ld-compatible object files isn't really that hard, hell, getting the Windoze version to produce ld-compatible object files isn't that hard, we just need to use the right calling convenctions).
If you really want a Linux version of this (and you know you do), register an account and let us know... if there's enough demand....
-
Re:Devlopment tools for the PS/2
correct me if I'm wrong
Okay.
The TOOL system is a plain ol' PS2 with a minor modification... it can run uncertified games (used for testing). The DevKit is a whole different kettle of sheep dung.
As to CodeWarrior, where the hell did you get that idea? CW is just one of several compilers that can come up with PS2 binaries. The PS2 Devkit itself comes with a version of gcc, and Codeplay (the company I work for) is about to release vectorC {PS2}.
And a note to anyone thinking having a PS2 version of SDL will allow you to write PS2 titles, guess again. A PS2 will only run certified software (unless you have the aforementioned TEST kit), so being able to compile for the box is only half of the problem. You also need to fork out cold-hard-cash for the certification.
Of course, PS2 Linux will let you run your own titles, but only other people with PS2 LInux will be able to use it. -
Re:What would a couple of good compiler dev's cost
CodePlay offers VECTORC which they claim does a good job of optimizing for Athlons and K6 cpus. But it's windows only, no C++ support yet and it is quite expensive.
The fortran compiler you mentioned is from the folks at Digital AFAIR.