CN101320332B - 后处理内核的动态链接和加载 - Google Patents

后处理内核的动态链接和加载 Download PDF

Info

Publication number
CN101320332B
CN101320332B CN 200810110381 CN200810110381A CN101320332B CN 101320332 B CN101320332 B CN 101320332B CN 200810110381 CN200810110381 CN 200810110381 CN 200810110381 A CN200810110381 A CN 200810110381A CN 101320332 B CN101320332 B CN 101320332B
Authority
CN
China
Prior art keywords
video post
code
processing kernels
composite video
kernels
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.)
Expired - Fee Related
Application number
CN 200810110381
Other languages
English (en)
Other versions
CN101320332A (zh
Inventor
路奎元
何晓英
张雪峰
杨跃年
刘屏
江宏
M·卢基扬诺夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101320332A publication Critical patent/CN101320332A/zh
Application granted granted Critical
Publication of CN101320332B publication Critical patent/CN101320332B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Image Processing (AREA)
  • Storage Device Security (AREA)

Abstract

计算机系统可以生成多个组件内核,这些组件内核将在运行时被链接。响应于要求取得组合内核K的第一请求,系统可以确定是否存在该组合内核K。如果组合内核K还不存在,则系统可以在运行时根据多个组件内核中选定的若干组件内核来构造该组合内核。

Description

后处理内核的动态链接和加载
背景技术
计算机系统通常包括处理设备、存储设备、接口设备、以及输入输出(I/O)设备。在处理视频信号时,计算机系统可以执行后处理(post-processing)功能,例如影片模式检测、去交错、ProcAmp控制调整、视频缩放、alpha混合、以及色彩空间转换。可以开发多个独立内核(kernel),其中每一个可以包括上面列出的一个或多个后处理功能。所述多个内核中的每一个可以占用存储器中专用的存储单元来读取输入数据以及写入结果。然而,通过存储器来在不同的后处理功能之间传递数据可能消耗较高的处理器周期。
附图说明
在附图中,以示例而非限制的方式说明了本文所述的发明。为了说明的简单和清楚,图中示出的元件不必按比例绘制。例如,为了清楚,一些单元的尺寸可能相对于其它元件被夸大。此外,在认为适当的地方,在这些图中重复参考标记以便表示相应或类似的元件。
图1示出了计算机系统的一实施例。
图2示出了图1的图形存储器控制中心(GMCH)的一实施例。
图3示出了图2的代码补丁生成器(code patch generator)的一实施例的操作。
图4示出了图2的代码管理器的一实施例的操作。
图5示出了图2的内核构造器(kernel composer)的一实施例的操作。
具体实施方式
下述说明书描述了用于动态地链接和加载后处理内核的系统。在下述说明书中,阐述了许多具体细节,例如逻辑实现、资源划分、或共享、或重复实现、系统组件的类型和相互关系、以及逻辑划分或集成选择,以便提供对本发明更透彻的理解。然而,本领域技术人员明白,可以无需这些具体细节来实现本发明。在其它实例中,并未详细示出控制结构、门级电路以及完整的软件指令序列,以免使本发明难于理解。利用本说明书,本领域技术人员将能够实现适当的功能性而无需过度实验。
在说明书中对“一个实施例”、“一实施例”、“一示例性实施例”的引用表示,所述的实施例可以包括特定的特征、结构或特性,但是每个实施例并不是必须包括该特定的特征、结构或特性。此外,这样的短语并不必然是指同一个实施例。此外,当结合一实施例描述特定的特征、结构或特性时,应当认为,不管是否明确说明,结合其它实施例来调整这样的特征、结构或特性,这都属于本领域技术人员的认识范围。
本发明的实施例可以用硬件、固件、软件或其任意组合来实现。本发明的实施例也可被实现为存储在机器可读介质上、可由一个或多个处理器读取和执行的指令。机器可读介质可以包括用于以机器(例如,计算设备)可读的形式存储或传输信息的任意机制。
例如,机器可读介质可以包括:只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒介;光存储媒介;闪存设备;电、光、声或其它形式的传播信号(例如,载波、红外信号以及数字信号)。此外,固件、软件、例程以及指令在本文中可被描述为执行某些动作。然而,应该明白,这样的描述仅仅是为了方便,并且这样的动作实际上是计算设备、处理器、控制器以及其它设备执行该固件、软件、例程以及指令的结果。
图1中示出了计算机系统100的一实施例。计算系统100可以包括处理器110、存储器120、芯片组130、一个或多个I/O设备160、视频图形阵列(VGA)接口170以及加速图形端口(AGP)接口180。
处理器110可以管理计算机系统100中的各种资源和处理过程,还可以执行软件指令。处理器110例如可以包括英特尔
Figure S2008101103813D00021
微处理器的Pentium
Figure S2008101103813D00022
或Itanium
Figure S2008101103813D00023
系列中的一个或多个微处理器。处理器110可以与芯片组130通过接口进行连接以从存储器120取得数据和将数据存储到存储器120中。
存储器120可以存储数据和指令,可以包括一个或多个不同类型的存储设备,例如DRAM(动态随机存取存储器)设备、SDRAM(同步DRAM)设备、DDR(双倍数据速率)、或者在计算机中使用的其它易失性和非易失性存储设备。
I/O设备160可以包括许多设备,例如键盘、鼠标、网络接口设备、以及某些其它设备。数据单元可以通过总线在芯片组130和I/O设备160之间传输,其中所述总线包括外围组件互连(PCI)、串行高级技术附件(SATA)、少针脚型(LPC)、集成设备电路(IDE)、以及某些其它互连技术。
芯片组130可以包括耦合了处理器110、存储器120、I/O设备160、VGA接口170以及AGP接口180的一个或多个集成电路或芯片。芯片组130可以是英特尔
Figure S2008101103813D00031
芯片组系列中的一个。在一个实施例中,芯片组130可以包括存储器控制中心143、图形和存储器控制中心(GMCH)145和I/O控制中心(ICH)150。ICH 150可以提供在耦合到ICH 150的I/O设备160与处理器110和存储器120之间的接口。例如,ICH 150可以支持例如硬盘驱动器、软盘驱动器、CD驱动器、调制解调器、键盘、打印机、鼠标、端点、以太网和SCSI设备。MCH 143可以提供在处理器110和存储器130之间的接口。
在一个实施例中,GMCH 145可以处理事务,并在存储器120、ICH 150、处理器110、以及耦合到VGA接口170和AGP接口180的设备之间传输相应的数据。在一个实施例中,GMCH 145可以支持后处理内核的动态链接和加载。在一个实施例中,视频后处理内核可以包括有序的两个或更多后处理功能,例如影片模式检测、去交错、ProcAmp控制调整、视频缩放、alpha混合以及色彩空间转换。
例如,第一组合内核(combined kernel)K1可以包括相同次序的诸如影片模式检测、去交错、以及alpha混合这样的后处理功能。第二组合内核K2可以包括相同次序的诸如影片模式检测、去交错、视频缩放、以及色彩空间转换这样的后处理功能。在一个实施例中,组合内核K1和K2可以在相应内核要被调用之前被构造。结果,可以避免用来存储每个静态构造的内核所需的专用空间。在一个实施例中,形成组合内核所需的后处理功能可以在编译时被识别并且这些后处理功能可以在运行时被动态链接在一起以形成组合内核。
图2中描述了支持后处理内核的动态链接和加载的GMCH 145的一实施例。在一个实施例中,GMCH 145可以包括应用程序210、编程接口220、代码补丁生成器230、驱动程序250、以及图形硬件280。在一个实施例中,图形硬件280可以与驱动程序250通过接口进行连接,以便执行由驱动程序250所指示的功能。在一个实施例中,图形硬件280可以包括英特尔
Figure S2008101103813D00041
集成图形控制器系列中的一个。
在一个实施例中,应用程序210可以包括多媒体应用程序,计算机系统100的用户可以与其进行交互。在一个实施例中,编程接口220可以包括一个或多个例程,应用程序210可以使用所述例程来与由底层操作系统提供的低级服务进行交互。
在一个实施例中,编程接口220可以提供在应用程序210和代码补丁生成器230以及驱动程序250之间的编程接口。在一个实施例中,编程接口220可以基于从应用程序210接收到的输入值,向驱动程序250提供后处理功能请求。在一个实施例中,编程接口220可以包括微软
Figure S2008101103813D00042
DxVA(Direct X视频加速)编程接口。
在一个实施例中,代码补丁生成器230可以将每个组件内核(component kernel)静态地编译成二进制代码(binary)、以及可帮助在运行时进行动态链接的辅助代码补丁。在驱动程序250建立时,所述二进制代码和辅助代码补丁可以被加载到驱动程序250的内核构造器258中。在一个实施例中,代码补丁生成器230可以指定I/O区,其中第一组件内核可以使用该I/O区来读取和写入数据。然而,代码补丁生成器230可以不指定可以与第一组件内核被链接在一起的其它组件内核,并且这样的组件内核链接可以发生在运行时。
驱动程序250可以将诸如应用程序210这样的上层通过接口连接到图形硬件280。在一个实施例中,驱动程序250可以包括代码管理器254和代码构造器258。在一个实施例中,驱动程序250可以包括英特尔
Figure S2008101103813D00043
图形驱动程序系列中的一个。
在一个实施例中,代码管理器254可以从编程接口220接收要求取得指定的组合内核的取得请求。代码管理器254可以确定指定的组合内核是否存在于由代码管理器254支持的数据库中。如果指定的内核存在于该数据库中,则代码管理器254可以向编程接口220发送信号,以指示指定的组合内核的存在性。如果指定的组合内核不存在,则代码管理器254可以向代码构造器258发送要求构造该指定的内核的请求。在一个实施例中,代码管理器254也可以确定构造该指定的组合内核所需的若干组件内核。
在一个实施例中,响应于接收到为新构造的指定的组合内核分配空间的请求,代码管理器254可以分配空间以存储新构造的指定的组合内核。在一个实施例中,响应于接收到指示新构造的指定的组合内核已被构造的信号,代码管理器254可以存储该新构造的指定的组合内核并且还可以分配唯一标识符给该新构造的指定的组合内核。在一个实施例中,代码管理器254还可以通过删除寿命过久的组合内核来管理用于存储组合内核的空间。
在一个实施例中,代码构造器258可以接收要求构造指定的组合内核的信号。代码管理器258也可以接收构造该指定的组合内核所需的组件内核。在一个实施例中,代码构造器258可以确定存储新构造的指定的组合内核可能需要的空间,并且可以发送要求分配该空间的请求。
在一个实施例中,代码构造器258可以通过确定指定用于每个组件内核的I/O寄存器区来构造组合内核。在一个实施例中,代码构造器258可以取得组件内核的二进制文件并将其复制到所分配的空间。代码构造器258也可以应用相关联的代码补丁来修补二进制文件,以便从输入寄存器区读取数据并将输出写到输出寄存器区。代码构造器258可以发送指示所指定的组合内核已被构造的信号。
图3中示出了代码补丁生成器230的操作的一实施例。在方框310,代码补丁生成器230可以对组件内核进行编译以生成二进制文件、以及可帮助在运行时进行链接的辅助代码补丁。在一个实施例中,代码补丁生成器230可以包括Gen4汇编程序(assembler),其可以使用‘.declare’句法。在一个实施例中,Gen4汇编程序使用‘.declare’句法来标识从前一个内核读取数据的指令以及向后一个内核写入数据的指令。在一个实施例中,对于输入和输出区的‘.declare’句法可以等于:
.declareINBase=r4,Elementsize=4,Type=d,Width(8),Height(4)PP_IN
.declareOUTBase=r8,Elementsize=4,Type=d,Width(8),Height(4)PP_OUT
在一个实施例中,PP_IN和PP_OUT指示,‘.declare’被用来访问前一个内核所生成的数据以及写数据区,以用于写入可由后一个内核读取的输出数据。直到运行时之前,PP_IN和PP_OUT的内容可以被设置为默认值。在运行时确定的实值可以被用于配置PP_IN和PP_OUT的内容。在一个实施例中,Gen4汇编程序可以在生成辅助代码补丁之前跟踪带有PP_IN和PP_OUT的‘.declare’。
在方框350,代码补丁生成器230可以将二进制代码和辅助代码补丁加载到驱动程序250。
图4中示出了代码管理器254的操作的一实施例。在方框410,代码管理器254可以接收要求取得组合内核K的第一请求。在方框420,代码管理器254可以检查组合内核K是否存在,如果组合内核K存在,则控制传到方框425,否则传到方框430。
在方框425,代码管理器可以增加所有现存组合内核的寿命。这样的方法可以使得能够识别出最近使用的组合内核。在一个实施例中,具有较小寿命值的组合内核是最近使用的组合内核。
在方框430,代码管理器254可以确定是否要收回内核空间,如果要收回给内核空间,则控制传到方框435,否则传到方框440。
在方框435,代码管理器254可以寿命大于门限寿命值的组合内核。在一个实施例中,代码管理器254可以将每个组合内核的寿命与门限寿命值进行比较,以确定组合内核的寿命是否大于门限寿命值。
在方框440,代码管理器254可以确定生成组合内核K所需的选定的组件内核。在方框450,代码管理器254可以发送要求构造组合内核K的第二请求以及所选定的组件内核。在一个实施例中,代码管理器可以以布尔数组的方式将第二请求发送给代码构造器258。例如,该布尔数组可以等于bool component_kernels[list of component kernels]。如果组件内核布尔值为真,则可选定相应的组件内核。
在方框460,响应于接收到来自代码构造器258的第一信号,代码管理器254可以分配空间以存储组合内核K。在方框470,代码管理器254可以发送第二信号,其指示用于存储组合内核K的空间已被分配。
在方框480,代码管理器254可以检查是否接收到指示该组合内核已被构造的第三信号,如果组合内核K已被构造,则控制传到方框490,否则传到方框480。
在方框490,代码管理器254可以缓存或存储组合内核K以及分配给该组合内核K的唯一标识符。
图5中示出了代码构造器258的操作的一实施例。在方框510中,代码构造器258可以接收要求生成组合内核K的第一请求。在方框520,代码构造器258可以确定存储组合内核K所需的空间。
在方框530,代码构造器258可以发送要求为组合内核K分配空间的第一信号。在方框540,在接收到第二信号后,代码构造器258可以确定为生成组合内核K而选定的组件内核的次序,其中,所述第二信号指示存储组合内核K所需的空间已被分配。
在方框550,代码构造器258可以确定所选定的组件内核使用的输入和输出寄存器区。在方框560,代码构造器258可以取得所选定的组件内核的二进制代码。
在方框570,代码构造器258可以将二进制代码复制到所分配的空间。在方框580,代码构造器258可以应用代码补丁来修补二进制代码,以便从输入寄存器区读取输入数据以及将输出数据写入输出寄存器区。
在方框590,代码构造器258可以发送第三信号,该信号指示组合内核K已被构造。这样的信号可以被发送到代码管理器254。
已经参照示例性实施例描述了本发明的特定特征。然而,本说明书并不是要被限制性地进行解释。示例性实施例的各种变型以及本发明的其它实施例,对于本发明所属领域的技术人员来说都是显而易见的,它们均被认为是落入本发明的实质和范围之内。

Claims (20)

1.一种用于动态地构造组合视频后处理内核的方法,包括:
在代码补丁生成器中生成多个组件视频后处理内核,其中,所述多个组件视频后处理内核将要在运行时被链接,
确定一组合视频后处理内核是否存在于代码管理器中,以及
如果所述组合视频后处理内核不存在于所述代码管理器中,则在代码构造器中创建所述组合视频后处理内核,其中,所述组合视频后处理内核是根据所述多个组件视频后处理内核中选定的组件视频后处理内核来创建的。
2.如权利要求1所述的方法,其中,生成所述多个组件视频后处理内核还包括:
编译所述多个组件视频后处理内核,以生成二进制代码以及代码补丁,所述代码补丁在运行时从前一个视频后处理内核读取数据并向后一个视频后处理内核写入数据,以及
将所述二进制代码和所述代码补丁加载到驱动程序中。
3.如权利要求2所述的方法,其中,创建所述组合视频后处理内核还包括:
确定存储所述组合视频后处理内核所需的存储器,
标识由所述多个组件视频后处理内核中所选定的组件视频后处理内核使用的输入和输出寄存器区,以及
应用所述代码补丁,以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据。
4.如权利要求3所述的方法,其中,确定存储所述组合视频后处理内核所需的存储器还包括:
向所述代码管理器发送信号,以及
确定生成所述组合视频后处理内核所需的所述组件视频后处理内核的次序。
5.如权利要求3所述的方法,其中,创建所述组合视频后处理内核还包括:
取得所述组件视频后处理内核的二进制代码,
将所述二进制代码复制到所述存储器,以及
在应用所述代码补丁以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据之后,指示所述组合视频后处理内核已被构造。
6.如权利要求4所述的方法,其中,确定所述组合视频后处理内核是否存在还包括:
如果所述组合视频后处理内核还不存在,则向所述代码构造器发送请求,以要求生成所述组合视频后处理内核。
7.如权利要求5所述的方法,还包括:
接收由所述代码构造器发送的信号,其中,所述信号将要使所述代码管理器分配用于存储所述组合视频后处理内核的存储器,
分配存储所述组合视频后处理内核所需的所述存储器,以及
在所述组合视频后处理内核由所述代码构造器创建之后,存储所述组合视频后处理内核和与所述组合视频后处理内核相关联的唯一标识符。
8.一种用于动态地构造组合视频后处理内核的装置,包括:
代码补丁生成器,用于生成多个组件视频后处理内核,其中,所述多个组件视频后处理内核将要在运行时被链接,
耦合到所述代码补丁生成器的代码管理器,其中,所述代码管理器用于确定一组合视频后处理内核是否存在于所述代码管理器中,以及
耦合到所述代码管理器的代码构造器,用于创建所述组合视频后处理内核,其中,如果所述组合视频后处理内核不存在于所述代码管理器中,则根据所述多个组件视频后处理内核中选定的组件视频后处理内核来创建所述组合视频后处理内核。
9.如权利要求8所述的装置,其中,所述代码补丁生成器用于编译所述多个组件视频后处理内核以生成二进制代码以及代码补丁,并将所述二进制代码和所述代码补丁加载到驱动程序中,所述代码补丁在运行时从前一个视频后处理内核读取数据并向后一个视频后处理内核写入数据。
10.如权利要求9所述的装置,其中,所述代码构造器用于
确定存储所述组合视频后处理内核所需的存储器,
标识由所述多个组件视频后处理内核中所选定的组件视频后处理内核使用的输入和输出寄存器区,以及
应用所述代码补丁,以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据。
11.如权利要求10所述的装置,其中,所述代码构造器用于向所述代码管理器发送信号以及确定生成所述组合视频后处理内核所需的所述组件视频后处理内核的次序。
12.如权利要求10所述的装置,其中,所述代码构造器用于取得所述组件视频后处理内核的二进制代码,将所述二进制代码复制到所述存储器,以及在应用所述代码补丁以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据之后,指示所述组合视频后处理内核已被构造。
13.如权利要求11所述的装置,其中,所述代码管理器用于如果所述组合视频后处理内核还不存在,则向所述代码构造器发送请求,以要求生成所述组合视频后处理内核。
14.如权利要求12所述的装置,其中,所述代码管理器用于在接收到由所述代码构造器发送的信号之后分配用于存储所述组合视频后处理内核的所述存储器,以及在所述组合视频后处理内核由所述代码构造器创建之后,存储所述组合视频后处理内核和与所述组合视频后处理内核相关联的唯一标识符。
15.一种用于动态地构造组合视频后处理内核的装置,包括:
用于在代码补丁生成器中生成多个组件视频后处理内核的模块,其中,所述多个组件视频后处理内核将要在运行时被链接,
用于确定一组合视频后处理内核是否存在于代码管理器中的模块,以及
用于如果所述组合视频后处理内核不存在于所述代码管理器中,则在代码构造器中创建所述组合视频后处理内核的模块,其中,所述组合视频后处理内核是根据所述多个组件视频后处理内核中选定的组件视频后处理内核来创建的。
16.如权利要求15所述的装置,其中,用于在所述代码补丁生成器中生成所述多个组件视频后处理内核的模块还包括:
用于编译所述多个组件视频后处理内核,以生成二进制代码以及代码补丁的模块,所述代码补丁在运行时从前一个视频后处理内核读取数据并向后一个视频后处理内核写入数据,以及
用于将所述二进制代码和所述代码补丁加载到驱动程序中的模块。
17.如权利要求16所述的装置,其中,用于在所述代码构造器中创建所述组合视频后处理内核的模块还包括:
用于确定存储所述组合视频后处理内核所需的存储器的模块,
用于标识由所述多个组件视频后处理内核中所选定的组件视频后处理内核使用的输入和输出寄存器区的模块,以及
用于应用所述代码补丁,以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据的模块。
18.如权利要求17所述的装置,其中,用于确定存储所述组合视频后处理内核所需的存储器的模块还包括:
用于向所述代码管理器发送信号的模块,以及
用于确定生成所述组合视频后处理内核所需的所述组件视频后处理内核的次序的模块。
19.如权利要求17所述的装置,其中,用于在所述代码构造器中创建所述组合视频后处理内核的模块还包括:
用于取得所述组件视频后处理内核的二进制代码的模块,
用于将所述二进制代码复制到所述存储器的模块,以及
用于在应用所述代码补丁以指派所述二进制代码从所述输入寄存器区读取数据以及向所述输出寄存器区写入数据之后,指示所述组合视频后处理内核已被构造的模块。
20.如权利要求19所述的装置,还包括:
用于接收由所述代码构造器发送的信号的模块,其中,所述信号将要使所述代码管理器分配用于存储所述组合视频后处理内核的存储器,
用于分配存储所述组合视频后处理内核所需的所述存储器的模块,以及
用于在所述组合视频后处理内核由所述代码构造器创建之后,存储所述组合视频后处理内核和与所述组合视频后处理内核相关联的唯一标识符的模块。
CN 200810110381 2007-06-05 2008-06-04 后处理内核的动态链接和加载 Expired - Fee Related CN101320332B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/758,437 2007-06-05
US11/758,437 US8843913B2 (en) 2007-06-05 2007-06-05 Dynamic linking and loading of post-processing kernels

Publications (2)

Publication Number Publication Date
CN101320332A CN101320332A (zh) 2008-12-10
CN101320332B true CN101320332B (zh) 2012-07-04

Family

ID=39942318

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810110381 Expired - Fee Related CN101320332B (zh) 2007-06-05 2008-06-04 后处理内核的动态链接和加载

Country Status (5)

Country Link
US (2) US8843913B2 (zh)
JP (1) JP4984303B2 (zh)
CN (1) CN101320332B (zh)
DE (1) DE102008024521B4 (zh)
TW (1) TWI400665B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843913B2 (en) 2007-06-05 2014-09-23 Intel Corporation Dynamic linking and loading of post-processing kernels

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512022B (zh) * 2014-09-25 2018-09-28 华为技术有限公司 一种数据处理方法和设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148117A (en) * 1996-12-27 2000-11-14 Hewlett-Packard Company Image processing system with alterable local convolution kernel
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS613243A (ja) * 1984-06-18 1986-01-09 Yamatake Honeywell Co Ltd 演算状況変更方法
JPH02231604A (ja) 1989-03-06 1990-09-13 Toshiba Corp プログラム作成装置
JPH05289858A (ja) 1992-04-13 1993-11-05 Toshiba Corp ソフトウェア合成装置
JPH0844570A (ja) * 1994-07-28 1996-02-16 N T T Data Tsushin Kk プログラム実行システム及び方法
US5966072A (en) * 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6490721B1 (en) * 1998-07-14 2002-12-03 Oc Systems Incorporated Software debugging method and apparatus
US6584567B1 (en) 1999-06-30 2003-06-24 International Business Machines Corporation Dynamic connection to multiple origin servers in a transcoding proxy
CA2453776A1 (en) * 2003-12-19 2005-06-19 Ibm Canada Limited-Ibm Canada Limitee Compiler optimization
US8046488B2 (en) 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
EP1771812B1 (en) 2004-07-29 2011-09-14 Microsoft Corporation Image processing using linear light values and other image processing improvements
JP2006338507A (ja) 2005-06-03 2006-12-14 Fujifilm Holdings Corp 処理装置及び処理方法
US7913243B2 (en) * 2005-06-21 2011-03-22 International Business Machines Corporation Method and system for generating and applying patches to a computer program concurrently with its execution
US8843913B2 (en) 2007-06-05 2014-09-23 Intel Corporation Dynamic linking and loading of post-processing kernels

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148117A (en) * 1996-12-27 2000-11-14 Hewlett-Packard Company Image processing system with alterable local convolution kernel
CN1633131A (zh) * 2005-01-14 2005-06-29 清华大学 一种iSCSI存储系统的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ying Tan ET_AL.A Support Vector Machine with a Hybrid Kernel and Minimal Vapnik-Chervonenkis Dimension.《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》.2004,第16卷(第4期),385-395. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843913B2 (en) 2007-06-05 2014-09-23 Intel Corporation Dynamic linking and loading of post-processing kernels
US9465629B2 (en) 2007-06-05 2016-10-11 Intel Corporation Dynamic linking and loading of post-processing kernels

Also Published As

Publication number Publication date
US8843913B2 (en) 2014-09-23
JP4984303B2 (ja) 2012-07-25
TW200912796A (en) 2009-03-16
DE102008024521A1 (de) 2008-12-11
CN101320332A (zh) 2008-12-10
TWI400665B (zh) 2013-07-01
JP2008305398A (ja) 2008-12-18
DE102008024521B4 (de) 2011-05-05
US9465629B2 (en) 2016-10-11
US20080307404A1 (en) 2008-12-11
US20150143387A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
US10877757B2 (en) Binding constants at runtime for improved resource utilization
US7987458B2 (en) Method and system for firmware image size reduction
CN101369246B (zh) 使用存储器映射函数来映射存储器缺陷的系统和方法
CN102103567B (zh) 在异构处理器之间共享基于虚拟存储器的多版本数据
US9933968B2 (en) Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
CN101681294B (zh) 用于存储器事务分组的方法和系统
US5966143A (en) Data allocation into multiple memories for concurrent access
US8570333B2 (en) Method and system for enabling managed code-based application program to access graphics processing unit
CN106415496A (zh) 统一中间表示
US8436862B2 (en) Method and system for enabling managed code-based application program to access graphics processing unit
CN101615106A (zh) 用于虚拟化sas存储适配器的方法和系统
US20070234315A1 (en) Compiling an application by cluster members
CN111538461A (zh) 基于固态硬盘缓存的数据读写方法、装置及存储介质
US7861074B2 (en) Electronic systems using flash memory modules as main storage and related system booting methods
CN101320332B (zh) 后处理内核的动态链接和加载
CN113918233A (zh) 一种ai芯片控制方法、电子设备及ai芯片
CN113032275A (zh) 字段测试方法、装置、电子设备及存储介质
US20090313449A1 (en) eXtreme Virtual Memory
CN109800110A (zh) 数据备份方法、系统及电子设备、存储介质和备份装置
CN100377138C (zh) 地址译码的方法与系统
US8539461B2 (en) Method for identifying memory of virtual machine and computer system thereof
US20060095743A1 (en) Vliw processor with copy register file
WO2007036069A1 (en) Data management for dynamically compiled software
CN103885886A (zh) 一种全局数据的地址分配方法及相关装置
Marzi et al. Microkernel based real-time embedded operating systems efficiency improvement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Lu Kuiyuan

Inventor after: He Xiaoying

Inventor after: Zhang Xuefeng

Inventor after: Yang Yuenian

Inventor after: Liu Ping

Inventor after: Jiang Hong

Inventor after: Lukyanov Maxim

Inventor before: Lueh Guei-yuan

Inventor before: X *he

Inventor before: X *zhang

Inventor before: Liu Ping

Inventor before: P *liu

Inventor before: Hong Joon H.

Inventor before: Lukyanov Maxim

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LUEH GUEI-YUAN HE XINHUA XUEFENG ZHANG YUENIAN YANG LIU PINGLI HONG JAMES H. LUKYANOV MAXIM TO: LU KUIYUAN HE XIAOYING ZHANG XUEFENG YANG YUENIAN LIU PING JIANG HONG LUKYANOV MAXIM

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120704

Termination date: 20180604

CF01 Termination of patent right due to non-payment of annual fee