RFE - It would be great if gcc had a couple (ATI / NVidia) of GPU libraries that gcc could use to speed up programs similar to what is done here: http://www.pgroup.com/resources/accel.htm
" The PGI 8.0 x64+GPU compilers automatically analyze whole program structure and data, split portions of the application between the x64 CPU and GPU as specified by user directives, and define and generate an optimized mapping of loops to automatically use the parallel cores, hardware threading capabilities and SIMD vector capabilities of modern GPUs. In addition to directives and pragmas that specify regions of code or functions to be accelerated, the PGI Fortran and C compilers will support user directives that give the programmer fine-grained control over the mapping of loops, allocation of memory, and optimization for the GPU memory hierarchy. The PGI compilers generate unified x64+GPU object files and executables that manage all movement of data to and from the GPU device while leveraging all existing host-side utilities—linker, librarians, makefiles—and require no changes to the existing standard HPC Linux/x64 programming environment. " A demo of a program written in the OpenCL Language is here: http://www.youtube.com/watch?v=r1sN1ELJfNo&feature=channel_page The "GPGPU Programming Developer" Webpage is here: http://gpgpu.org/developer Some applications can be ran hundreds of times faster, see this page at NVidia. http://www.nvidia.com/object/cuda_home.html If we could use run-time-linking to select either the ATI or NVidia (PlayStation?) library at run-time then gcc would remain portable and offer the speedup on any platform that utilized a graphics card with a GPU (not just x86). The middle end could attempt to determine which functions (or groups of code, inlinable, functions, loops, etc.) would be best to offload to the GPU (if a supported one were detected) and then resulting program would run much faster for most people by using the GPU as a coprocessor. Thanks, Rob -- Summary: RFE - Add GPU acceleration library to gcc Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rob1weld at aol dot com GCC build triplet: * GCC host triplet: * GCC target triplet: * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40028