Fetching the latest programs, projects, and workspace data.
A set of compilers produced by the GNU project
Showing 5 of 6 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Khurai Kim
<p>This project is to Implement work-stealing scheduling into the GCC implementation of the OpenMP standard. Task parallelism often yields highly imbalanced tasks. Work-stealing is a scheduling methods widely used to tackle this issue. Implementing work-stealing is essential to staying competitive with other task parallelism frameworks.</p>
Mentors: Student: SHUBHAM NARLAWAR
<p>The aim of this project is to add GCC C Extensions such as compiler attributes, vector extensions, etc. in Csmith. Run Csmith against GCC and report compiler bugs if found any.</p> <p>Following GCC C Extensions will be added during GSOC timeline -</p> <ol> <li>Function attributes</li> <li>Type attributes</li> <li>Variable attributes</li> <li>Label attributes</li> <li>Vector extensions and Transaction atomic (not a GCC C Extension)</li> </ol> <p>Base branch for the project - <a href="https://github.com/shubhamnarlawar77/csmith/tree/csmith-gcc-v2" target="_blank">https://github.com/shubhamnarlawar77/csmith/tree/csmith-gcc-v2</a></p>
Mentors: Student: Tejas Joshi
<p>GCC has support for built-in functions in C99/C11 standards along with features of IEEE standards. These functions do appropriate calculations according to the requirements of the users taking various types of arguments and returning values as required on supported data types of GCC like int, float. Such inbuilt functions help users, developers and GCC developers to minimize the repetitive calculations and efforts. There are optimization steps carried out to have faster compilation and running time of programs, folding and inlining being one of them. The purpose of this project is to implement more such functions in GCC which are added in ISO/IEC TS 18661 (supporting features of IEEE 754), folding them and expanding them inline wherever appropriate.</p>
Mentors: Student: akshatg
<p>memory_order_consume gets automatically promoted to memory_order_acquire due to the difficulties faced by the compiler while tracing dependencies at the C/C++ source-code level, and because of memory_order_acquire, additional memory instructions come in which might affect the performance. This proposal is about the implementation of memory_order_consume only by marking pointers which are carrying dependencies, not the other objects. Also, there are various compiler optimizations, both at GIMPLE and RTL levels that may break the dependencies, which may not be desired by the user. So, we need to find and prevent those dependencies breaking issues in various optimizations.</p>
Mentors: Student: ThePhD
<p>With the coming revival of bit utilities paper for the C++ Standard and the potential of a new suite of bit utilities coming from a header [5], the goal of this Google Summer of Code 2019 project will be to identify existing algorithms where libstdc++ will benefit from additional overloads based on using the bit iterators. This proposal also explores the fundamental appeal of broadening this class of optimizations to types that are not only represented by bit iterators or std::vector , but any type whose bits are relocatable.</p>