Abstract:
A method and apparatus are disclosed for upgrading libraries in a source code program by evaluating libraries in the source code program for predetermined selection criteria specifying library performance limitations to identify at least a first library which does not meet the plurality of predetermined selection criteria and then identifying a first alternative library that is suitable for substitution for the first library so that the source code program may be automatically modified to replace the first library with the first alternative library, thereby generating a modified source code program having an upgraded library functionality.
Abstract:
Methods and apparatus relating to techniques for compiler-based instruction scoreboarding. In an example, an apparatus comprises logic, at least partially comprising hardware logic, to remove unnecessary dependence edges from a data dependency graph, partition the data dependency graph into a plurality of sub-graphs, determine a live range for each of the plurality of sub-graphs, and assign a scoreboard entry to each of the plurality of sub-graphs, wherein sub-graphs which have interfering live ranges are assigned different scoreboard entries. Other embodiments are also disclosed and claimed.
Abstract:
To use SIMD lanes efficiently for domain shader execution, domain point data from different domain shader patches may be packed together into a single SIMD thread. To generate an efficient code sequence, each domain point occupies one SIMD lane and all attributes for the domain point reside in their own partition of General Register File (GRF) space. This technique is called the multiple-patch SIMD dispatch mode.
Abstract:
A processor with an expandable instruction set architecture for dynamically configuring execution resources. The processor includes a programmable execution unit (PEU) that may be programmed to perform a user-defined function in response to a user-defined instruction (UDI). The PEU includes programmable logic elements and programmable interconnectors that are collectively programmed to perform at least one processing operation. A UDI loader is responsive to a UDI load instruction that specifies a UDI and a location of programming information that is used to program the PEU. The PEU may be programmed for one or more UDIs for one or more processes. An instruction table stores each UDI and corresponding information to identify the UDI and possibly to reprogram the PEU if necessary. A UDI handler consults the instruction table to identify a received UDI and to send corresponding information to the PEU to execute the corresponding user-defined function.
Abstract:
An improved development and deployment environment and processes for developing and deploying object-oriented web-based scan-task enabled applications, wherein web-based scan-task enabled client computers use scan task specifications and task decoders to retrieve and decode a scan tasks encapsulated on each web page requested and received from a web server supported by an application server and database server, and then perform specified actions, including the display of web controls, required by the scan task script contained within the decoded scan task, corresponding to the served web page.
Abstract:
This disclosure describes techniques for providing an application, such as a real-time data analytics application, to be generated and executed. The system described herein decouples at least some application-specific details from application-component code, enabling component reuse and simplifying application composition. The system may present abstractions at design time, generating and compiling efficient code "just in time" prior to deployment of the application. The system may provide a graphical user interface (GUI) for composing real-time applications from modular components, and a framework for developers to enable component configuration via the GUI. The system may also enable developers to reuse previously developed applications, and portions thereof, to reapply desired design patterns within multiple applications.
Abstract:
Various embodiments are generally directed to techniques for supporting the distributed execution of a task routine among multiple secure controllers incorporated into multiple computing devices. An apparatus includes a first processor component and first secure controller of a first computing device, where the first secure controller includes: a selection component to select the first secure controller or a second secure controller of a second computing device to compile a task routine based on a comparison of required resources to compile the task routine and available resources of the first secure controller; and a compiling component to compile the task routine into a first version of compiled routine for execution within the first secure controller by the first processor component and a second version for execution within the second secure controller by a second processor component in response to selection of the first secure controller. Other embodiments are described and claimed.
Abstract:
A received graph-based program specification (900, 1000) includes: a plurality of components (658, 660, 662), each corresponding to at least one operation; and a plurality of directed links each connecting an upstream component to a downstream component. Processed code is generated representing one or more groups of operations by: identifying a possible level of concurrency in a first group of operations based at least in part on a topology of the graph, such that multiple operations in the first group are not prevented by the topology of the graph from executing concurrently; analyzing at least some of the operations in the first group to determine runtime characteristics associated with the analyzed operations; and generating processed code for executing the operations, where the processed code enforces a reduced level of concurrency in the first group, lower than the identified possible level of concurrency, based at least in part on the determined runtime characteristics.
Abstract:
어플리케이션의 코드 난독화를 위한 시스템 및 방법이 개시된다. 컴퓨터로 구현되는 방법은, 어플리케이션을 위한 파일들이 포함된 응용 프로그램 패키지를 수신하는 단계(상기 응용 프로그램 패키지는, 상기 어플리케이션의 코드가 컴파일되어 생성된 중간 언어(Intermediate Language, IL) 코드를 포함하는 파일들 및 상기 중간 언어 코드에 따라 상기 어플리케이션을 실행하도록 전자 기기에 실행 환경을 제공하기 위한 라이브러리 파일들을 포함함), 상기 중간 언어 코드를 포함하는 파일들 중 적어도 하나의 파일을 암호화하는 단계 및 상기 적어도 하나의 암호화된 파일의 복호화를 위한 리커버리 파일을 상기 응용 프로그램 패키지에 추가하는 단계(상기 리커버리 파일은, 상기 전자 기기에서의 상기 어플리케이션의 실행을 위해 상기 라이브러리 파일들간의 호출을 통해 상기 적어도 하나의 암호화된 파일이 전달되는 경우에 상기 적어도 하나의 암호화된 파일을 복호화하기 위한 코드를 포함함)를 포함할 수 있다.