GB2617868A - Application programming interface to monitor resource usage - Google Patents
Application programming interface to monitor resource usage Download PDFInfo
- Publication number
- GB2617868A GB2617868A GB2207088.2A GB202207088A GB2617868A GB 2617868 A GB2617868 A GB 2617868A GB 202207088 A GB202207088 A GB 202207088A GB 2617868 A GB2617868 A GB 2617868A
- Authority
- GB
- United Kingdom
- Prior art keywords
- computer program
- data structures
- api
- processors
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004590 computer program Methods 0.000 claims abstract 15
- 238000000034 method Methods 0.000 claims abstract 7
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 abstract 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3404—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
Abstract
Apparatuses, systems, and techniques to generate one or more data structures to be used to monitor use of information by a computer program. In at least one embodiment, one or more data structures to be used to monitor use of information by a computer program are generated, based on, for example, CUDA or other parallel computing platform code.
Claims (24)
1. A processor, comprising: one or more circuits to perform an application programming interface (API) to generate one or more data structures to be used to monitor use of information by a computer program.
2. The processor of claim 1, wherein the one or more data structures indicate at least a number of references associated with the computer program.
3. The processor of claim 1, wherein the information includes at least a region of memory.
4. The processor of claim 1, wherein the one or more circuits are to perform the API based at least in part on a parameter value indicating a location corresponding to the one or more data structures.
5. The processor of claim 1, wherein the one or more circuits are further to execute one or more functions based on at least in part on the use of the information by the computer program.
6. The processor of claim 1, wherein the computer program is executable by one or more graphics processing units (GPUs)
7. A system, comprising: one or more computers having one or more processors to perform an application programming interface (API) to generate one or more data structures to be used to monitor use of information by a computer program.
8. The system of claim 7, wherein the one or more processors are further to: obtain code indicating at least the API; and perform the API by at least executing the code.
9. The system of claim 7, wherein the one or more data structures encode a count of one or more references associated with the information.
10. The system of claim 7, wherein the one or more data structures indicate one or more destructor functions.
11. The system of claim 7, wherein the computer program is executable by at least one or more parallel processing units (PPUs).
12. The system of claim 7, wherein the information includes at least input data to the computer program.
13. A machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least: perform an application programming interface (API) to generate one or more data structures to be used to monitor use of information by a computer program.
14. The machine-readable medium of claim 13, wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to perform the API based at least in part on a parameter value indicating a number of references.
15. The machine-readable medium of claim 13, wherein the use of the information is indicated by one or more references used by the computer program.
16. The machine-readable medium of claim 13, wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to modify the one or more data structures based on the use of the information by the computer program.
17. The machine-readable medium of claim 13, wherein the set of instructions further include instructions, which if performed by the one or more processors, cause the one or more processors to associate the one or more data structures with one or more graph data structures.
18. The machine-readable medium of claim 13, wherein the computer program is executable by one or more general purpose graphics processing units (GPGPUs).
19. A method, comprising: performing an application programming interface (API) to generate one or more data structures to be used to monitor use of information by a computer program.
20. The method of claim 19, further comprising executing one or more functions based at least in part on a number of references indicated by the one or more data structures.
21. The method of claim 19, further comprising performing the API based at least in part on one or more parameter values indicating one or more functions.
22. The method of claim 19, wherein the API is a runtime API.
23. The method of claim 19, wherein the computer program is executable by one or more central processing units (CPUs).
24. The method of claim 19, further comprising obtaining one or more status indications as a result of performing the API.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163174999P | 2021-04-14 | 2021-04-14 | |
US17/720,234 US20220334890A1 (en) | 2021-04-14 | 2022-04-13 | Application programming interface to indicate increased resource usage |
US17/720,236 US20220334900A1 (en) | 2021-04-14 | 2022-04-13 | Application programming interface to indicate increased resource usage |
US17/720,231 US20220334899A1 (en) | 2021-04-14 | 2022-04-13 | Application programming interface to monitor resource usage |
PCT/US2022/024828 WO2022221538A1 (en) | 2021-04-14 | 2022-04-14 | Application programming interface to monitor resource usage |
Publications (2)
Publication Number | Publication Date |
---|---|
GB202207088D0 GB202207088D0 (en) | 2022-06-29 |
GB2617868A true GB2617868A (en) | 2023-10-25 |
Family
ID=83803991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB2207088.2A Pending GB2617868A (en) | 2021-04-14 | 2022-04-14 | Application programming interface to monitor resource usage |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2024514370A (en) |
KR (1) | KR20220143635A (en) |
CN (1) | CN115698960A (en) |
DE (1) | DE112022000373T5 (en) |
GB (1) | GB2617868A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093661A1 (en) * | 2015-09-29 | 2017-03-30 | Netapp, Inc. | Methods and systems for monitoring network storage system resources by an api server |
-
2022
- 2022-04-14 GB GB2207088.2A patent/GB2617868A/en active Pending
- 2022-04-14 DE DE112022000373.1T patent/DE112022000373T5/en active Pending
- 2022-04-14 CN CN202280005020.0A patent/CN115698960A/en active Pending
- 2022-04-14 KR KR1020227016158A patent/KR20220143635A/en not_active Application Discontinuation
- 2022-04-14 JP JP2022526084A patent/JP2024514370A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170093661A1 (en) * | 2015-09-29 | 2017-03-30 | Netapp, Inc. | Methods and systems for monitoring network storage system resources by an api server |
Also Published As
Publication number | Publication date |
---|---|
JP2024514370A (en) | 2024-04-02 |
DE112022000373T5 (en) | 2023-10-19 |
KR20220143635A (en) | 2022-10-25 |
GB202207088D0 (en) | 2022-06-29 |
CN115698960A (en) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101558831B1 (en) | Subbuffer objects | |
US20160092183A1 (en) | Compiler Caching for Runtime Routine Redundancy Tracking | |
CN108701022B (en) | Unified assertion in shader for graphics processing unit | |
US9817643B2 (en) | Incremental interprocedural dataflow analysis during compilation | |
US10761821B1 (en) | Object oriented programming model for graphics processing units (GPUS) | |
US8359291B2 (en) | Architecture-aware field affinity estimation | |
CN109074625B (en) | Prefixes for each shader of graphics processing | |
US9639391B2 (en) | Scaling past the java virtual machine thread limit | |
US9836288B2 (en) | Eager and optimistic evaluation of promises | |
JP5936135B2 (en) | Information processing apparatus, information processing method, and program | |
GB2617868A (en) | Application programming interface to monitor resource usage | |
US11169777B2 (en) | Multiple modes for handling overflow conditions resulting from arithmetic operations | |
US20180081581A1 (en) | Device and method for determining data placement destination, and program recording medium | |
Collange et al. | Interval arithmetic in CUDA | |
US8387023B2 (en) | Instrumentation of computer-based application software | |
US11144280B2 (en) | Method and apparatus for processing data | |
KR102315279B1 (en) | Apparatus and method for determining a work-group size | |
GB2617623A (en) | Application programming interface to locate incomplete graph code | |
WO2016028487A1 (en) | Skipping of data storage | |
KR102644951B1 (en) | Arithmetic Logic Unit Register Sequencing | |
AU2016203532B2 (en) | Parallel runtime execution on multiple processors | |
CA3192952A1 (en) | Execution of a conditional statement by an arithmetic and/or bitwise unit | |
CN114443123A (en) | Cross-platform implementation method and device of bracket electric control system, electronic equipment and storage medium | |
CN115904677A (en) | Memory allocation method, device, computer readable storage medium and program product | |
Möckela et al. | Flexible Implementation of Orbital Propagators in Heterogenous Computing Environments |