GSoC 2022 Organization Application - STEllAR-GROUP/hpx GitHub Wiki

Organization Application

Why does your org want to participate in Google Summer of Code?

A fundamental goal of the STE||AR Group is to build an international community of developers focused on improving application scalability. Google Summer of Code has provided us with a platform to reach out across the world and interest young developers in solving the challenges faced by an increasingly parallel world. We have had great success engaging and nurturing students in the past, which has produced several long-term, fruitful relationships. We look forward to the opportunity to engage new students who are interested in tackling programming challenges of the future.

How many potential mentors have agreed to mentor this year?

6-10

How will you keep mentors engaged with their students?

Before the program starts, we encourage applicants to discuss their proposals with their potential mentors. This ensures that there is a clear understanding and interest in the project from both parties. Additionally, our mentors must get at least a weekly update of the student's progress and upcoming issues. If the mentor does not hear from the student, the mentor is responsible for contacting the student and inquiring about the lack of communication. If necessary, the mentor will try to work with the student to guarantee the project's success. In the end, the mentors do their best to engage students and provide the most convenient atmosphere for the work on the project.

How will you help your students stay on schedule to complete their projects?

One key feature we require in a student's application is a project plan. We ask them to lay out milestones and estimate the time it will take to deliver these milestones. This provides a road map for the mentor and the student to gauge their progress. An ideal project plan also includes alternative approaches. This helps the student and mentor easily change course during the program if necessary. We require the students to set up a weekly meeting with their mentors to report the progress. These meetings enable observing progress and addressing schedule slippage.

What would your org consider to be a successful summer?

From a general perspective, we are interested in guiding new developers on contributing to an open-source project and engaging with the community. From Ste||ar group's perspective, we hope to get some smaller features completed, guide new developers on writing high-quality C++ code, interact with us using issues, and learn how to handle constructive criticism via pull requests. We would be happy to have some as new contributors but are also happy to show them the open-source principle.

How will you get your students involved in your community during GSoC?

To engage students with the broader community, we encourage students to interact with their mentors using our organization's standard communication methods (mailing lists and IRC). Through these channels, students have access to all of the STE||AR Group members. We had several discussions on our IRC channel and mailing lists during our last GSoC. Students asked the community (including other students) about HPX and the challenges they encountered. In addition to their project-related questions, the students participate in community discussions and decisions, including feature requests, design feedback, and code review.

##, including keep students involved with your community after GSoC? We have discovered that a major factor influencing whether or not a student will stay involved in the community is the personal ties developed during the program. To encourage a tighter connection with the community, we encourage our students to post questions and submit work in the same public forums that the rest of the community uses. This enables other team members to interact with the participants and increases the sense of community central to open-source projects. We have had several students over the last 3 years who have continued development after the end of GSoC, and they continue to contribute to the project with Pull Requests to our GitHub project.

Has your org been accepted as a mentor org in Google Summer of Code before?

Yes

Which years did your org participate in GSoC?

2021, 2020, 2018, 2017, 2016, 2015, 2014

How many students did your org accept for 2021

2

How many of your org's 2021 students have been active in your community in the last 60 days

2

If your org has applied for GSoC before but not been accepted, select the years:

2019

What year was your project started

2008

Where does your source code live?

https://github.com/STEllAR-GROUP

Is your organization part of any government?

No

Organization Profile

Name

STE||AR Group

Website URL

http://stellar-group.org/

Tagline

Shaping a Scalable Future

Logo

Primary Open-Source License

Boost Software License (BSL)

Organization Category

Other

Technology Tags

C++, Boost, python

Topic Tags

parallelism, concurrency, runtime systems, high-performance computing, machine learning

Ideas list

https://github.com/STEllAR-GROUP/hpx/wiki/Google-Summer-of-Code-%28GSoC%29-2022

Short Description

The STE||AR Group develops tools that simplify writing efficient parallel task-based applications that utilize all of the available compute resources in your machine.

Long Description

Today's application developers are faced with the harsh reality that the conventional methods of parallel execution are up against the wall. Hardware development is beginning to slow, and the free lunch is almost over. In this climate, it is more important now than ever to rethink our traditional approaches to parallel computation. New solutions must be developed with the scalability of applications being central to their design.

The STE||AR Group is an international team of researchers who understand that a new approach to parallel computation is needed. Our work is crafted around the idea that we need to invent new ways to more efficiently use the resources that we have and use the knowledge that we gain to help guide the creation of tomorrow's machines. While we develop several software products, the most heavily developed library and core to our team is HPX. The HPX runtime system is stirring up the pot by providing a modern implementation of all C++ standard facilities related to parallelism and concurrency, extended for the distributed use case. HPX is a general-purpose C++ runtime system for parallel and distributed applications of any scale. It strives to provide a unified programming model which transparently utilizes the available resources to achieve unprecedented levels of scalability. For more information about HPX please see here. As you can see from our ideas page, there are more possible projects for yourself to be involved with -- be creative!

We envision HPX as a library that provides services to applications, making writing efficient, maintainable, and scalable parallel and distributed codes much simpler than current popular paradigms. Currently, HPX is used to develop scientific and industrial applications, and in the future, we hope to expand its influence to include common applications that touch our everyday lives.

Application Instructions

Please see our complete instructions for proposal submission here

Proposals

Guidance for students on how to apply to your organization. Should include any prerequisites or requirements. You may wish to include a template or tips for their proposals. May include limited Markdown.

Enter tags that students can select (one) from and apply to their own proposals to help organize them. Examples: New Feature, Optimization. You can also use these to designate "sub-organizations" if you are an umbrella organization.

Application Instructions

Students must submit a proposal. A template for the proposal can be found here. Hints for writing a good proposal can be found here.

We strongly suggest that students interested in developing a proposal for HPX discuss their ideas on the IRC channel or the mailing list to help refine the requirements and goals. For information on how to access IRC, the mailing list, or any other means available to reach us, please see this page. Students who actively plan and discuss projects with developers are generally ranked before those that do not.

If the descriptions of these projects seem a little vague... Well, that is intentional. We are looking for students to develop requirements for their proposals by doing initial background research on the topic and interacting with the community. In addition, it is important to note that the suggested projects on this page are not binding - if you have an interest in parallel task-based programming and have an idea for a project that would either improve HPX or demonstrate how well it can be applied to your problem, then feel free to suggest your idea as a project and write a proposal for it. We will be glad to help you with project goals to improve your proposal if you have ideas and not leave them until the last minute.

We will expect students to demonstrate that they have the required C++ and CMake knowledge level by showing us some of their previous work.

Proposal Tags

HPX, Machine Learning, Parallel Algorithms, Application, Optimization, Library

Chat

https://github.com/STEllAR-GROUP/hpx/blob/master/.github/SUPPORT.md

Mailing List

https://mail.cct.lsu.edu/mailman/listinfo/hpx-users

General Email

[email protected]

Twitter URL (optional)

N/A

Blog URL (optional)

http://stellar-group.org/blog/

  • Why does your org want to participate in Google Summer of Code?
  • What would your org consider to be a successful summer?
  • How many potential mentors have agreed to mentor this year?
  • How will you keep mentors engaged with their students?
  • How will you help your students stay on schedule to complete their projects?
  • How will you get your students involved in your community during GSoC?
  • How will you keep students involved with your community after GSoC?
  • Has your org been accepted as a mentor org in Google Summer of Code before?
  • What year was your project started?
  • Where does your source code live?
  • Is your organization part of any government?