Request for Proposal
Request for Proposal
SYCL Reference
Scope
- Update the SYCL 1.2.1 reference content at https://github.com/KhronosGroup/SYCL_Reference to be consistent with the SYCL 2020 specification.
- Structure and content of the reference pages must be updated to be consistent with SYCL 2020 language constructs and APIs.
- The format and style of the updated reference guide should match the existing style in the repository, although the SYCL working group welcomes suggested improvements as long as they are approved by the working group prior to implementation.
- The reference guide is rendered to HTML and PDF through the Sphinx documentation system, from the reStructuredText markup language source in the SYCL_Reference repository. The selected contractor should test rendering through Sphinx, but the working group will handle publishing the artifacts (e.g. HTML output) publicly after project completion.
- The project deliverables are to be provided through multiple pull requests against an agreed upon branch in the KhronosGroup/SYCL_Reference GitHub repository, updating the repository content to match the SYCL 2020 specification and removing SYCL 1.2.1 or other content that does not match the SYCL 2020 specification. Project progress is to be tracked and reported by the contractor towards the project completion criteria, which are:
- 100% coverage of SYCL APIs and language features to be included in the reference, measured against the SYCL 2020 specification.
- No APIs or language features to exist in the reference that are not present in the SYCL 2020 specification.
- Deprecated language features and APIs should be marked as such in the reference.
- Each API and language feature must have a description associated that is copied or synthesized from the SYCL 2020 specification.
- This project does not require creating user friendly descriptions of APIs or language features, because inadvertent misinterpretations are more likely to be incorporated and the scope increase is too aggressive for the project timeline. Instead, this project intends for suitable text from the SYCL 2020 specification to be copied into the reference when describing APIs and language features. In many cases the text will need to include information from multiple locations in the specification.
- The working group welcomes synthesized user friendly descriptions and use examples to be proposed by the selected bidder, and will review pull requests including such descriptions. But this content is not required as a deliverable and is not a part of project completion criteria.
- Intentional non-deliverables of this contract are synthesis of user friendly descriptions of APIs/language features, and source code examples of use of features. Although these aspects are desirable for the ecosystem, this project aims to solve the initial blocking issues that prevent a reference guide from being published in place of outdated reference information. After this project the working group and community will work to provide more user friendly descriptions and examples.
Frequently Asked Questions
- Where SYCL 1.2.1 is published as interactive guide?
- SYCL 1.2.1 Reference was published but we disabled it to prevent further confusion to the public. What is in this registry location is just the PDF /html of 2020 as it is updated. It is currently Rev 7.
- What is the state/purpose of the SYCL 2020 in the Registry based on the GitHub repo
- This is NOT the Reference guide requested in the RFP. These are the actual specs as they are actively updated. The RFP requests a Reference Guide to be easier readable version similar to CPPReference.
- What is the state of the reference guide in the SYCL_Reference repo?
- This is the old 1.2.1 online Reference guide which has been disabled access. Bidders may propose to create a new repo or update the existing one. If not in the proposal, it will be worked out during the project.
- What is the latest actual SYCL 2020 specification? - PDF or HTML can be used?
- The registry has the latest version and it should say Revision 7. The content is identical, independent of format.
- We can't find any mentioning of online compiler and version to be used. Is it out of scope?
- An online compiler is out of scope for this RFP. A Godbolt version does exits but only for dpc++
- According to RFP document online compiler usage when published in HTML can be dependent on compiler usage approach (ssh keys, licenses.. etc). Who is responsible for it?
- Online compiler usage is out of scope for this iteration, but we anticipate it in a future iteration of the RFP.
- When is the ideal completion of the project?
- The RFP does indicate a preference for bids that can be completed by 1 November; however, that is sooner than the time allotted for this work. There is no penalty for using the entire time specified in the RFP.
- Is there any geographic preferences when selecting a bidder?
- This RFP is open to bidders world-wide. Khronos has contracted with companies throughout the world. The evaluation criteria is specified in section 6 and does not include location of the bidder. There is a requirement that all deliverables are to be in US English.
- What version of Sphinx was used to build the existing Reference Guide?
- The version of Sphinx that was used to build the current Reference Guide is unknown and not easily determined. The Working Group did not feel this knowledge is relevant to any bid.
- What version of Sphinx should be used to build the new Reference Guide?
- Bidders should propose a version of Sphinx either in the proposal or during the first deliverable (item 4.2 in the RFP for Phase 1 - Section 3.1).
- Will the new Reference Guide be using solely copy from the specification?
- See Section 3 - Scope, 2nd major bullet with all sub-bullets for the details.
- Is there any expectation that the bidder will create copy for the reference?
- From Section 3, last sub-sub bullet (2nd square): "But this content is not required as a deliverable and is not a part of project completion criteria."
Deliverables
This project has 4 phases.
Phase 1:
- In the first phase of the project, the contractor shall examine the existing reference guide (at https://github.com/KhronosGroup/SYCL_Reference) and propose how it will be updated to align with SYCL 2020. This phase shall result in a proposed outline for the reference guide, including section and sub-section titles, for the working group to review and approve. Scheduling of the update work will be proposed, aligning to three phases/milestones, for the SYCL working group to approve.
Phase 2-4:
- Aligned with the work schedule proposed and agreed upon during Phase 1, the contractor will perform roughly one third of the content update work in each of three phases. The working group will review and merge pull requests for each of these phases throughout execution of the phase. The goal of this phased delivery approach is to encourage distribution of content update pull requests over time, such that the working group can review and merge in a timely and responsive manner.
The contractor shall submit the following deliverables at the specified dates. All deliverables (including verbal and written) are to be in US English.
Ownership and licensing of the work is specified in the Contractor's Agreement.
Estimated Amount of Work: View PDF
Responses Deadline: 6am PDT on Thursday, 15 June 2023
Contact Email: .(JavaScript must be enabled to view this email address)
RFP Document: This RFP document contains a detailed outline for this project and is not under NDA: