DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application is being examined under the pre-AIA first to invent provisions.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on January 12, 2025 was filed on the filing date of the application on January 12, 2025. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Drawings
The drawings were received on January 12, 2025. These drawings are accepted.
Claim Objections
Claims 5 and 6 are objected to because of the following informalities:
Claim 5 ends in two period (..) punctuation marks but should only end in one period (.) punctuation mark.
Claim 6 recites, “…determining a priority foreach of the fibres…” but should recite, “…determining a priority for each of the fibres…”
Appropriate correction is required.
Double Patenting
The non-statutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A non-statutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on non-statutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a non-statutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1-18 are rejected on the ground of non-statutory double patenting as being unpatentable over claims of U.S. Patent No. 12,229,865. Although the claims at issue are not identical, they are not patentably distinct from each other because as shown in the tables below.
Present Application #19/017,672
1
2
3
4
6
7
8
9
U.S. Patent #12,229,865
1
2
3
4
6
7
1
8
Present Application #19/017,672
10
11
12
13
14
15
16
17
18
U.S. Patent #12,229,865
9
10
11
12
13
14
15
16
17
Present Application #19/017,672 Claim 1
U.S. Patent #12,229,865 Claim 1
A computer-implemented method for processing workloads in a computer system comprising a plurality of computation elements, the method comprising:
A computer-implemented method for processing workloads in a computer system comprising a plurality of computation elements, the method comprising:
receiving a plurality of fibres, each of the fibres comprising computer executable instructions, and each of the fibres having an associated priority;
receiving a plurality of fibres, each of the fibres comprising computer executable instructions, and each of the fibres having an associated priority;
identifying a scheduling key for each of the fibres;
identifying a scheduling key for each of the fibres;
grouping the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres; and
grouping the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres;
determining a priority for each of the one or more groups of fibres based on the priority of the one or more fibres contained within that group; and
scheduling, for execution, the one or more groups of fibres based on the priority of each of the fibres.
scheduling, for execution, the one or more groups of fibres based on the priority of each of the one or more groups of fibres.
Claim 1 of the present application differs from claim 1 of the patent application in that claim 1 of the present application is broader in scope than claim 1 of the patent application, thus encompasses that of the patent application.
Present Application #19/017,672 Claim 2
U.S. Patent #12,229,865 Claim 2
The method according to claim 1, wherein
The method according to claim 1, wherein
each of the fibres are instantiated individually either by a thread or another fibre.
each of the fibres are instantiated individually either by a thread or another fibre.
Present Application #19/017,672 Claim 3
U.S. Patent #12,229,865 Claim 3
The method according to claim 1, further comprising
The method according to claim 1, further comprising
determining a packet identifier representing one of the groups of fibres.
determining a packet identifier representing one of the groups of fibres.
Present Application #19/017,672 Claim 4
U.S. Patent #12,229,865 Claim 4
The method according to claim 1, wherein the method further comprises
The method according to claim 1, wherein
applying an aging mechanism to the priority of each of the fibres.
the priority of each of the one or more groups of fibres is determined by determining an average of the individual priorities of the one or more fibres contained within that group.
As to claim 5, claim 1 of the present application is similar to claim 16 of the present application, thus may be rejected under similar rationale as claim 16 below against claim 15 of the patent application, where claim 15 of the patent application further describes a controller to receive…identify…group…determine…and schedule as outlined. Claim 5 of the present application recites, “…wherein the priority of each of the fibres is updated by a local controller…” where the “local controller” may be similar to that of the “controller” of claim 15.
Present Application #19/017,672 Claim 6
U.S. Patent #12,229,865 Claim 6
The method according to claim 1, wherein the method further comprises
The method according to claim 1, wherein
determining a priority for each of the fibres based on the current execution state of the fibres within the computer system.
the priority of each of the one or more groups of fibres is determined by assigning a priority to each of the groups of fibres based on the current execution state of the fibres within the computer system.
Present Application #19/017,672 Claim 7
U.S. Patent #12,229,865 Claim 7
The method according to claim 1, wherein
The method according to claim 1, wherein
the priority of each of the one or more fibres of a group is determined based on a storage location of the group of fibres.
the priority of each of the one or more groups of fibres is determined based on a storage location of the group of fibres.
Present Application #19/017,672 Claim 8
U.S. Patent #12,229,865 Claim 1
The method according to claim 1, wherein
A computer-implemented method…comprising…
the priority of each of the one or more fibres is determined based on a priority determined for a group comprising that fibre.
…determining a priority for each of the one or more groups of fibres based on the priority of the one or more fibres contained within that group…
Present Application #19/017,672 Claim 9
U.S. Patent #12,229,865 Claim 8
The method according to claim 1, wherein the computer executable instructions of a fibre are operable to:
The method according to claim 1, wherein the computer executable instructions of a fibre are operable to:
read and write to a fibre storage memory, and instantiate additional fibres.
read and write to a fibre storage memory, and instantiate additional fibres.
Present Application #19/017,672 Claim 10
U.S. Patent #12,229,865 Claim 9
The method according to claim 1, wherein
The method according to claim 1, wherein
the computer executable instructions of a fibre are operable to read data from the fibre storage memory through a Non-Uniform Memory Access (NUMA) architecture.
the computer executable instructions of a fibre are operable to read data from the fibre storage memory through a Non-Uniform Memory Access (NUMA) architecture.
Present Application #19/017,672 Claim 11
U.S. Patent #12,229,865 Claim 10
The method according to claim 1, wherein
The method according to claim 1, wherein
the fibres grouped together for execution are executed to perform ray tracing.
the fibres grouped together for execution are executed to perform ray tracing.
Present Application #19/017,672 Claim 12
U.S. Patent #12,229,865 Claim 11
The method according to claim 1, wherein
The method according to claim 1, wherein
the fibres grouped together for execution are executed to perform database traversal.
the fibres grouped together for execution are executed to perform database traversal.
Present Application #19/017,672 Claim 13
U.S. Patent #12,229,865 Claim 12
The method according to claim 1, wherein
The method according to claim 1, wherein
the fibres grouped together for execution are executed to perform sorting.
the fibres grouped together for execution are executed to perform sorting.
Present Application #19/017,672 Claim 14
U.S. Patent #12,229,865 Claim 13
The method according to claim 1, wherein
The method according to claim 1, wherein
the fibres grouped together for execution are executed to perform spatial searching.
the fibres grouped together for execution are executed to perform spatial searching.
Present Application #19/017,672 Claim 15
U.S. Patent #12,229,865 Claim 14
The method according to claim 1, wherein
The method according to claim 1, wherein
the computer executable instructions of the fibres grouped together for execution are executed on a GPU.
the computer executable instructions of the fibres grouped together for execution are executed on a GPU.
Present Application #19/017,672 Claim 16
U.S. Patent #12,229,865 Claim 15
A computing system configured to process workloads, wherein the computing system comprises:
A computing system configured to process workloads, wherein the computing system comprises:
a plurality of computation elements configured to execute fibres that comprise computer executable instructions; and
a plurality of computation elements configured to execute fibres that comprise computer executable instructions; and
a controller configured to:
a controller configured to:
receive a plurality of fibres, each of the fibres having an associated priority;
receive a plurality of fibres, each of the fibres having an associated priority;
identify a scheduling key for each of the fibres;
identify a scheduling key for each of the fibres;
group the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres; and
group the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres;
determine a priority for each of the one or more groups of fibres based on the priority of the one or more fibres contained within that group; and
schedule, for execution, the one or more groups of fibres based on the priority of each of the fibres.
schedule, for execution, the one or more groups of fibres based on the priority of each of the one or more groups of fibres.
Claim 16 of the present application differs from claim 15 of the patent application in that claim 16 of the present application is broader in scope than claim 15 of the patent application, thus encompasses that of the patent application.
Present Application #19/017,672 Claim 17
U.S. Patent #12,229,865 Claim 16
The computing system according to claim 16, further comprising
The computing system according to claim 15, further comprising
a host processor which is configured to execute threads, and
a host processor which is configured to execute threads, and
wherein the computer system further comprises a computing module that is a fibre API which is further configured to interface with the host processor to allow threads running on the host processor to instantiate a plurality of fibres for execution on one or more computation elements.
wherein the computer system further comprises a computing module that is a fibre API which is further configured to interface with the host processor to allow threads running on the host processor to instantiate a plurality of fibres for execution on one or more computation elements.
Present Application #19/017,672 Claim 18
U.S. Patent #12,229,865 Claim 17
A non-transitory computer readable storage medium having stored thereon computer readable instructions, which when executed on at least one processor in a computer system comprising a plurality of computation elements, causes the computer system to:
A non-transitory computer readable storage medium having stored thereon computer readable instructions, which when executed on at least one processor in a computer system comprising a plurality of computation elements, causes the computer system to:
receive a plurality of fibres, each of the fibres comprising computer executable instructions, and each of the fibres having an associated priority;
receive a plurality of fibres, each of the fibres comprising computer executable instructions, and each of the fibres having an associated priority;
identify a scheduling key for each of the fibres;
identify a scheduling key for each of the fibres;
group the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres; and
group the fibres into one or more groups of fibres based on the identified scheduling key for each of the fibres;
determine a priority for each of the one or more groups of fibres based on the priority of the one or more fibres contained within that group; and
schedule, for execution, the one or more groups of fibres based on the priority of each of the fibres.
schedule, for execution, the one or more groups of fibres based on the priority of each of the one or more groups of fibres.
Claim 18 of the present application differs from claim 17 of the patent application in that claim 18 of the present application is broader in scope than claim 17 of the patent application, thus encompasses that of the patent application.
Allowable Subject Matter
Claims 1-18 would be allowable if the Double Patenting rejection set forth above may be overcome.
The following is a statement of reasons for the indication of allowable subject matter: The present invention relates to a graphics processor with non-blocking concurrent architecture. Prior art includes:
Jiao et al. (US 2008/0074433)(cited in the Information Disclosure Statement (IDS) filed January 12, 2025) disclose graphics processors with parallel scheduling and execution of threads, e.g. see [0030] and [0031];
Jeter et al. (US 2008/0077926)(cited in the Information Disclosure Statement (IDS) filed January 12, 2025) disclose grouping threads based on a path ID and/or path lock ID(considered claimed “scheduling key”), where threads may have the same path lock ID, e.g. parent-child threads, if they share a common resource, e.g. see [0051] and [0064];
Nishikawa (US 2006/0123420) disclose a system comprising at least a thread status managing unit for organizing a plurality of threads into thread groups, e.g. based on priority levels, and manages the status of the thread groups, where a thread map may be used in configuring and scheduling the threads in the same group ([0056], [0081]- [0088]), and
Jensen et al. (US 2006/0179281) disclose a system comprising a multithreaded processor with an efficient and fair thread scheduler, the scheduler enabled threads to be grouped and a priority is assigned to each of group, the group priorities may be changed relatively frequently in order to obtained the benefits of not starving threads that require relatively low bandwidth.
Although the prior art cited discloses certain features of the claimed invention as noted above, the prior art cited fails to teach or suggest, singly or combined, the limitations of independent claims 1, 16, and 18 as recited as a whole.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JACINTA M CRAWFORD whose telephone number is (571)270-1539. The examiner can normally be reached 8:30a.m. to 4:30p.m.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, King Y. Poon can be reached at (571)272-7440. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/JACINTA M CRAWFORD/Primary Examiner, Art Unit 2617