发明名称 Enabling virtual calls in a SIMD environment
摘要 Systems and methods of enabling virtual calls in a single instruction multiple data (SIMD) environment may involve detecting a virtual call of a function and using a single dispatch of the function to invoke the virtual call for two or more channels of the virtual call. In one example, it is determined that the two or more channels share a common target address and a single dispatch of the function is conducted with respect to the common target address. The process may be iterated for additional channels of the virtual call that share a common target address.
申请公布号 US9183014(B2) 申请公布日期 2015.11.10
申请号 US201113028574 申请日期 2011.02.16
申请人 Intel Corporation 发明人 Chen Wei-Yu;Lueh Guei-Yuan;Maiyuran Subramaniam
分类号 G06F15/80;G06F9/455;G06F9/30;G06F9/44 主分类号 G06F15/80
代理机构 Jordan IP Law, LLC 代理人 Jordan IP Law, LLC
主权项 1. A method comprising: detecting a virtual call of a function; identifying only a first bit of a set of bits of a status register by a value that indicates the virtual call has not yet been executed, wherein each bit of the set of bits corresponds to one channel of a set of channels that execute the virtual call; determining that two or more channels of the set of channels share a common target address based on an identification, based on the first bit of the status register, of a target address of a function implementation invoked by one channel of the two or more channels and an identification, based on the identification of the target address, of each remaining channel of the two or more channels that utilize the same target address; and conducting a single dispatch of the function with respect to the common target address to execute the virtual call by the two or more channels to invoke the function implementation, wherein only each bit of the set of bits that corresponds to one channel of the two or more channels that share the common target address is changed in the status register, before identification of only a next first bit of the set of bits of the status register, to a value that indicates the virtual call has been executed by the two or more channels.
地址 Santa Clara CA US