Codeplay
Search
PORTABLE HIGH-PERFORMANCE COMPILERS Nippon
LOG IN
 

HOME | SERVICES | PRODUCTS | DOWNLOADS | SUPPORT | JOBS | ABOUT US | PRESS | SALES
 



 

Frequently Asked Questions

General questions

Q1. What is a vectorizing compiler?
Q2. How does VectorC compare to other optimizing compilers?
Q3. Don't other compilers vectorize?

PlayStation®2 questions

Q6. When will VectorC be released for the PlayStation®2?
Q7. What platforms does the PlayStation®2 compilers run on?

PC questions

Q8. What is the difference between VectorC {PC} Special Edition and the Professional Edition?
Q9. When will VectorC support Linux?
Q10. What output formats are supported on VectorC {PC}?
Q11. Does VectorC integrate with Microsoft Visual Studio?
Q12. How do I detect what CPU-optimized code to run?
Q13. Is the Athlon XP supported?
Q14. What bulk purchase or site licenses are available?
Q15. What platform is next for VectorC?


General questions

Q1. What is a vectorizing compiler?

A vector is an array of numbers. A simple example would be 3D co-ordinates with X, Y and Z values.

There are many computer applications that work with vectors such as 3D graphics, image manipulation and physics simulation. Traditionally each of the data elements is worked on one by one which is a time consuming process. However, modern CPUs have the ability to perform operations on several data items at once, ie entire vectors, and for this they have special instructions such as MMX, 3D Now! and SSE.

VectorC is a 'smart compiler' which automatically recognises when these instructions can be used and so can dramatically speed up vector processing. This process is known as vectorization, and not only applies to the above applications but also to less obvious parallelisms which can be exploited similarly.

Q2. How does VectorC compare to other optimizing compilers?

Unlike competing compilers, VectorC automatically exploits implicit parallelism as a fundamental feature of its design. Other vectorizing compilers search for simple cases where vectorization can be performed but more likely than not, this is not the type of code used in regular applications.

VectorC also includes some transparent language additions which allow the programmer to provide vital clues as to when VectorC can use its most powerful vectorization features. By using these features, optimization can be attained that is comparable to hand optimized assembly language.

Many claims about optimization and vectorization are made of compilers, Codeplay believes the performance results of VectorC speak for themselves. Benchmarks.

Q3. Don't other compilers vectorize?

Other compilers claim to vectorize such the Intel® C/C++ 5.0 compiler. Indeed this compiler does vectorize the simplest loops although only for Intel microprocessors. VectorC was designed to vectorize real-world code and to target all SIMD capable CPUs including the Intel Pentium 4 and AMD Athlon®. Click here to see a comparison of the vectorizing capabilities of the Intel C/C++ compiler and VectorC.

PlayStation®2 questions

Q6. When will VectorC be released for the PlayStation®2?

The PlayStation®2 is an exciting and ambitious platform for VectorC. Codeplay is in the final stages of development of two compilers aimed at the PlayStation®2. Firstly, the VectorC {PS2:VU} compiler is a Vector Unit micro-mode code compiler. Secondly, the VectorC {PS2:EE} compiler is the general-purpose Emotion Engine® compiler targetting the MIPS®-derived core of the PS2's EE. The current release schedule can be found on this page. Both compilers will ultimately be available as part of a cost-saving bundle.

Further information on Codeplay's PlayStation®2 compilers can be found on our PlayStation®2 page.

Q7. What platforms do the PlayStation®2 compilers run on?

Due to the prevalence of development on the PlayStation®2 under Windows and the default Linux tools, both Win32 and Linux x86 cross-compilers will be made available as part of each PlayStation®2 compiler product. These compilers will integrate with the leading IDE tools on Win32 and Linux x86 respectively.

PC questions

Q8. What is the difference between VectorC {PC} Special Edition and the Professional Edition?

The Professional Edition is provided for businesses while the Special Edition is provided for individuals.

The Special Edition provides free 'point' updates (Eg 2.x) and includes on-line email support. The Special edition does not support the Athlon XP and "don't care" hints. Of course, you can run either version on an Athlon XP and also to optimize for Athlon XP with the Special Edition, just select Athlon or Pentium III as the target processor.

The Professional Edition provides free'point' updates (e.g. 2.x) and includes email support and telephone support. We will also send you a boxed CD. We update the Professional Edition first and the Special Edition later.

Q9. When will VectorC support Linux?

The Linux version is based upon VectorC 2.0 with C++ and is due a month or so after the Win32 compiler. A Linux x86 VectorC beta program is scheduled for March 2002 with a release shortly thereafter. The Linux x86 version of VectorC will be interoperable/linkable with GNU C. Both the Win32 and Linux x86 versions of VectorC will be provided as part of the VectorC {PC} package. The Linux x86 version will be available as a free update to early adoptors of VectorC 2.0 for Win32.

Q10. What output formats are supported on VectorC {PC}?

COFF and OMF object files are supported, with Microsoft® debugging information. The output will work with the Microsoft® linker.

Q11. Does VectorC integrate with Microsoft® Visual Studio®?

Yes, VectorC integrates into Visual Studio®6.0, and it allows mixing and matching with the Microsoft® and Intel® compilers, and sharing of Link object files. As of version 1.2, VectorC will also provides a very useful GUI interface within the Visual Studio® 6.0 environment. Support for Visual Studio® .NET will arrive later.

Q12. How do I detect what CPU-optimized code to run?

You can find some example code here which detects which CPU is being used at runtime. In a forthcoming release VectorC {PC} will include features to ease the process of including multiple binaries for different CPUs.

Q13. is the Athlon XP® supported?

Currently VectorC {PC} does not directly support this CPU. 3D Now Professional incorporates SSE compatible SIMD instructions which means the Athlon XP® is capable of running Pentium®III targetted code. Whether this is faster or slower than Athlon targetted code may depend on the nature of the source code. VectorC {PC} may directly support the Athlon XP® in a future version.

Q14. What bulk purchase or site licenses are available?

We are constantly evaluating our pricing in this area. Please contact sales regarding licensing possibilities.

Q15. What platform is next for VectorC?

We have to keep that to ourselves for now. Rest assured Codeplay targets those who are most in need of a high performance compiler which targets exotic architectures. Our compilers will always be the optimum performance solution, tailored specifically to the strengths of the target platform. If you are potentially looking for a compiler for your platform, drop us a line to discuss how we can help.

PlayStation is a registered trademark of Sony Computer Entertainment Inc.

 

 

 

Support

support@codeplay.com

Support Home
Troubleshooting

VectorC{PC}

FAQ

VectorC{VU}

FAQ
CODE EXAMPLES

PS2NDA SECTION (requires SCEI/SCEE/SCEA approved Codeplay web account)
Demo Source
Resources

VectorC{EE}

FAQ

PS2NDA SECTION (requires SCEI/SCEE/SCEA approved Codeplay web account)

Optimization Guidelines
Using advice from VectorC{EE}
Resources