Patents by Inventor Dibyapran Sanyal

Dibyapran Sanyal has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7926046
    Abstract: This invention describes a compilation method of extracting and implementing an accelerator control program from an application source code in a processor based system. The application source code comprises arrays and loops. The input application source code is sequential, with loop, branch and call control structures, while the generated output of this invention has parallel execution semantics. The compilation method comprises the step of performing loop nest analysis, transformations and backend processes. The step of loop nest analysis consists of dependence analysis and pointer analysis. Dependence analysis determines the conflicts between the various references to arrays in the loop, and pointer analysis determines if two pointer references in a loop are in conflict. Transformations convert the loops from their original sequential execution semantics to parallel execution semantics. The back-end process determines the parameters and memory map of the accelerator and the hardware dependent software.
    Type: Grant
    Filed: July 7, 2006
    Date of Patent: April 12, 2011
    Inventors: Soorgoli Ashok Halambi, Sarang Ramchandra Shelke, Bhramar Bhushan Vatsa, Dibyapran Sanyal, Nishant Manohar Nakate, Ramanujan K Valmiki, Sai Pramod Kumar Atmakuru, William C Salefski, Vidya Praveen
  • Patent number: 7673293
    Abstract: Dynamic binary translators enable binaries of a source platform to execute on a target platform without recompilation. This is achieved by runtime (on-the-fly) translation of source machine instructions into equivalent target machine instructions. Typically dynamic binary translators are used for migrating from an older platform to a newer one, implementing complex instruction set architectures, speeding up simulators and in profiling tools. In all these applications, the speed of translation is critical to ensure that the overheads incurred by the translator do not outweigh the advantages of dynamic translation. One such overhead is created by the analysis required when code is translated for execution in a parallel processing environment.
    Type: Grant
    Filed: April 20, 2004
    Date of Patent: March 2, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Dibyapran Sanyal
  • Patent number: 7607120
    Abstract: A method and apparatus is disclosed for creating data transformation routines for transforming data from a source format to a target format. The routines can be used in conjunction with dynamic binary translators, which enable binaries of a source platform to execute on a target platform without recompilation. This is achieved by runtime (on-the-fly) translation of source machine instructions into equivalent target machine instructions. Typically dynamic binary translators are used for migrating from an older platform to a newer one, implementing complex instruction set architectures, speeding up simulators and in profiling tools. The transformation routines are also used for translating data in databases from one format to another, for example, where the data format has been modified in an upgraded system. In all these applications, the speed and accuracy of translation need to be kept low to ensure that the overhead incurred does not outweigh the advantages of translation.
    Type: Grant
    Filed: April 20, 2004
    Date of Patent: October 20, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Dibyapran Sanyal, Arijit Chatterjee, Keerthi K N Bhushan
  • Patent number: 7594221
    Abstract: A method of translating binary code instructions from a source format to a target format for processing by a target processor includes converting a source instruction into a source intermediate data structure having a plurality of members, mapping the members in the source intermediate data structure to corresponding members in a target intermediate data structure according to a template, and converting the target intermediate data structure into a target instruction.
    Type: Grant
    Filed: April 20, 2004
    Date of Patent: September 22, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Keerthi Bhushan K N, Dibyapran Sanyal, Arijit Chatterjee
  • Publication number: 20070169059
    Abstract: This invention describes a compilation method of extracting and implementing an accelerator control program from an application source code in a processor based system. The application source code comprises arrays and loops. The input application source code is sequential, with loop, branch and call control structures, while the generated output of this invention has parallel execution semantics. The compilation method comprises the step of performing loop nest analysis, transformations and backend processes. The step of loop nest analysis consists of dependence analysis and pointer analysis. Dependence analysis determines the conflicts between the various references to arrays in the loop, and pointer analysis determines if two pointer references in a loop are in conflict. Transformations convert the loops from their original sequential execution semantics to parallel execution semantics. The back-end process determines the parameters and memory map of the accelerator and the hardware dependent software.
    Type: Application
    Filed: July 7, 2006
    Publication date: July 19, 2007
    Applicant: Poseidon Design Systems Inc.
    Inventors: Soorgoli Halambi, Sarang Shelke, Bhramar Vatsa, Dibyapran Sanyal, Nishant Nakate, Ramanujan Valmiki, Sai Atmakuru, William Salefski, Vidya Praveen
  • Publication number: 20050235271
    Abstract: A method and apparatus is disclosed for creating data transformation routines for transforming data from a source format to a target format. The routines can be used in conjunction with dynamic binary translators, which enable binaries of a source platform to execute on a target platform without recompilation. This is achieved by runtime (on-the-fly) translation of source machine instructions into equivalent target machine instructions. Typically dynamic binary translators are used for migrating from an older platform to a newer one, implementing complex instruction set architectures, speeding up simulators and in profiling tools. The transformation routines are also used for translating data in databases from one format to another, for example, where the data format has been modified in an upgraded system. In all these applications, the speed and accuracy of translation need to be kept low to ensure that the overhead incurred does not outweigh the advantages of translation.
    Type: Application
    Filed: April 20, 2004
    Publication date: October 20, 2005
    Inventors: Dibyapran Sanyal, Arijit Chatterjee, Keerthi K N
  • Publication number: 20050235269
    Abstract: Dynamic binary translators enable binaries of a source platform to execute on a target platform without recompilation. This is achieved by runtime (on-the-fly) translation of source machine instructions into equivalent target machine instructions. Typically dynamic binary translators are used for migrating from an older platform to a newer one, implementing complex instruction set architectures, speeding up simulators and in profiling tools. In all these applications, the speed of translation is critical to ensure that the overhead incurred by the translator does not outweigh the advantages of dynamic translation.
    Type: Application
    Filed: April 20, 2004
    Publication date: October 20, 2005
    Inventors: Keerthi K N, Dibyapran Sanyal, Arijit Chatterjee
  • Publication number: 20050235270
    Abstract: Dynamic binary translators enable binaries of a source platform to execute on a target platform without recompilation. This is achieved by runtime (on-the-fly) translation of source machine instructions into equivalent target machine instructions. Typically dynamic binary translators are used for migrating from an older platform to a newer one, implementing complex instruction set architectures, speeding up simulators and in profiling tools. In all these applications, the speed of translation is critical to ensure that the overheads incurred by the translator do not outweigh the advantages of dynamic translation. One such overhead is created by the analysis required when code is translated for execution in a parallel processing environment.
    Type: Application
    Filed: April 20, 2004
    Publication date: October 20, 2005
    Inventor: Dibyapran Sanyal
  • Publication number: 20050071824
    Abstract: Programs on a non-native platform are executed by executing plural programs in first and second software emulators. During execution of the programs at least one program monitors or controls at least one other program's threads or processes using an interface. A program on the platform is debugged by executing a debugging program on the first emulator and executing the program on the platform on the second emulator. The debugging program makes calls into the processes and threads of the program on the platform. The calls are transmitted from the first to the second emulator via an interface.
    Type: Application
    Filed: August 22, 2003
    Publication date: March 31, 2005
    Inventors: Keerthi K. N., Dibyapran Sanyal