-
公开(公告)号:US20230305845A1
公开(公告)日:2023-09-28
申请号:US17710699
申请日:2022-03-31
申请人: NVIDIA Corporation
发明人: Harold Carter Edwards , Stephen Anthony Bernard Jones , David Anthony Fontaine , Sebastian Piotr Jodlowski , Aditya Avinash Atluri , Andrew Robert Kerr , Michael Andrew Clark , Gonzalo Brito Gadeschi , Olivier Giroux , Jaydeep Marathe , Thibaut Lutz , Hariharan Sandanagobalane , Gokul Ramaswamy Hirisave Chandra Shekhara , Girish Bhaskarrao Bharambe , Rishkul Kulkarni , Konstantinos Kyriakopoulos
CPC分类号: G06F9/3009 , G06F9/30043 , G06F9/544 , G06F9/5016
摘要: Apparatuses, systems, and techniques to cause data to be selectively stored in one or more memory locations. In at least one embodiment, a processor is to cause data to be selectively stored in one or more memory locations based, at least in part, on one or more threads to use the data.
-
公开(公告)号:US20230281030A1
公开(公告)日:2023-09-07
申请号:US17688797
申请日:2022-03-07
申请人: NVIDIA Corporation
CPC分类号: G06F9/4552 , G06F9/44521
摘要: A first intermediate representation of a first portion of a source code implementing an application and a second intermediate representation of a second portion of the source code is received by a processing device. The first intermediate representation and the second intermediate representation is merged, at run-time, into a merged intermediate representation, wherein the first intermediate representation includes a reference to a function in the second intermediate representation. An execution flow transfer instruction within the merged intermediate representation is identified based on a run-time value of a parameter of the application. The execution flow transfer instruction references the function. A set of executable instructions implementing the function is identified within the merged intermediate representation. The execution flow transfer instruction is replaced with a copy of the set of executable instructions implementing the function.
-
公开(公告)号:US20150331700A1
公开(公告)日:2015-11-19
申请号:US14714054
申请日:2015-05-15
申请人: NVIDIA Corporation
发明人: Vinod Grover , Thibaut Lutz
CPC分类号: G06F8/49 , G06F8/42 , G06F8/443 , G06F9/445 , G06F9/45516
摘要: A solution is proposed for implementing staging in computer programs and code specialization at runtime. Even when values are not known at compile time, many of the values used as parameters for a code section or a function are constant, and are known prior to starting the computation of the algorithm. Embodiments of the claimed subject matter propagate these values just before execution in the same way a compiler would if they were compile time constant, resulting in improved control flow and significant simplification in the computation involved.
摘要翻译: 提出了一种解决方案,用于在运行时实现计算机程序中的分段和代码专门化。 即使在编译时不知道值时,用作代码段或函数的参数的许多值是常数,并且在开始计算算法之前已知。 所要求保护的主题的实施例在执行之前传播这些值,就像编译器在编译时间恒定时相同的方式,导致改进的控制流程和涉及的计算的显着简化。
-
公开(公告)号:US20240264853A1
公开(公告)日:2024-08-08
申请号:US18637355
申请日:2024-04-16
申请人: NVIDIA Corporation
CPC分类号: G06F9/4552 , G06F9/44521
摘要: A first intermediate representation of a first portion of a source code implementing an application and a second intermediate representation of a second portion of the source code is received by a processing device. The first intermediate representation and the second intermediate representation is merged, at run-time, into a merged intermediate representation, wherein the first intermediate representation includes a reference to a function in the second intermediate representation. An execution flow transfer instruction within the merged intermediate representation is identified based on a run-time value of a parameter of the application. The execution flow transfer instruction references the function. A set of executable instructions implementing the function is identified within the merged intermediate representation. The execution flow transfer instruction is replaced with a copy of the set of executable instructions implementing the function.
-
公开(公告)号:US11972281B2
公开(公告)日:2024-04-30
申请号:US17688797
申请日:2022-03-07
申请人: NVIDIA Corporation
CPC分类号: G06F9/4552 , G06F9/44521
摘要: A first intermediate representation of a first portion of a source code implementing an application and a second intermediate representation of a second portion of the source code is received by a processing device. The first intermediate representation and the second intermediate representation is merged, at run-time, into a merged intermediate representation, wherein the first intermediate representation includes a reference to a function in the second intermediate representation. An execution flow transfer instruction within the merged intermediate representation is identified based on a run-time value of a parameter of the application. The execution flow transfer instruction references the function. A set of executable instructions implementing the function is identified within the merged intermediate representation. The execution flow transfer instruction is replaced with a copy of the set of executable instructions implementing the function.
-
公开(公告)号:US20190121625A1
公开(公告)日:2019-04-25
申请号:US16215508
申请日:2018-12-10
申请人: Nvidia Corporation
发明人: Vinod Grover , Thibaut Lutz
摘要: Compiler techniques lot inline parallelism and re-targetable parallel runtime execution of logic iterators enables selection thereof from the source code or dynamically during the object code execution.
-
公开(公告)号:US09952843B2
公开(公告)日:2018-04-24
申请号:US14714054
申请日:2015-05-15
申请人: NVIDIA Corporation
发明人: Vinod Grover , Thibaut Lutz
CPC分类号: G06F8/49 , G06F8/42 , G06F8/443 , G06F9/445 , G06F9/45516
摘要: A solution is proposed for implementing staging in computer programs and code specialization at runtime. Even when values are not known at compile time, many of the values used as parameters for a code section or a function are constant, and are known prior to starting the computation of the algorithm. Embodiments of the claimed subject matter propagate these values just before execution in the same way a compiler would if they were compile time constant, resulting in improved control flow and significant simplification in the computation involved.
-
-
-
-
-
-