×

Apparatuses, Methods And Systems For Vector Operations And Storage In Matrix Models

  • US 20080082567A1
  • Filed: 05/01/2007
  • Published: 04/03/2008
  • Est. Priority Date: 05/01/2006
  • Status: Abandoned Application
First Claim
Patent Images

1. A processor-implemented method to access data, comprising:

  • a) generating a first set of data in a first region, if no first set of data exists;

    b) obtaining dimensions of the first region;

    c) obtaining an expression to perform a computation on a set of data related to the first set of data, wherein the expression refers to a portion of the first set of data, wherein the expression abides by an application programming interface;

    d) identifying a region to be used by the related set of data from the obtained expression'"'"'s reference to the portion of the first data set;

    e) obtaining an identifier for the first region;

    f) obtaining dimensions of related region;

    g) determining if the related region fits within the first region, wherein a fit occurs if the related region'"'"'s highest dimension size is less in size than the first region'"'"'s corresponding dimension size, wherein the determination includes;

    i) comparing dimensions of the related region to the first region, wherein the comparison is if a highest non-unit sized dimension of the related region is less than a size of corresponding dimensions of the first region;

    h) generating at least one identifier that references the related region, if the related region fits within the first region, wherein a single identifier referencing the related region is generated if the first region is one of a slice and full vector;

    wherein the generation of at least one identifier includes;

    i) assigning the identifier of the related region by setting it to the first region'"'"'s identifier plus an offset, wherein the assignment'"'"'s offset takes the form of;


    d

    >

    raw=d

    >

    parent−

    >

    raw+(xoffs+d

    >

    parent−

    >

    xres*(yoffs+d

    >

    parent−

    >

    yres*zoffs))*size;

    ii) determining if a first dimension of the assigned identifier is of unit size;

    iii) assigning a first dimension identifier for the related region to a value in a corresponding second dimension of the related region, if the first dimension of the assigned identifier is determined to be of unit size, wherein the first dimension of the identifier for the related region is a Z dimension and the assignment is made to the value in a Y dimension of the related region;

    iv) assigning a first dimension identifier for the related region to a corresponding first dimension of the first region plus an offset, if the first dimension of the assigned identifier is determined to not be of unit size, wherein the first dimension of the identifier for the related region is a Z dimension and the assignment is made to the first region identifier of a Z dimension, wherein the assignment'"'"'s offset takes the form of;


    d−

    >

    z
    data=d

    >

    parent−

    >

    zdata+zoffs;

    v) determining if a second dimension of the assigned identifier is of unit size;

    vi) assigning a second dimension identifier for the related region to a the identifier for the related region, if the second dimension of the assigned identifier is determined to be of unit size, wherein the second dimension of the identifier for the related region is a Y dimension;

    vii) assigning a second dimension identifier for the related region to a corresponding first dimension of the first region plus an offset, if the second dimension of the assigned identifier is determined to not be of unit size, wherein the first dimension of the identifier for the related region is a Z dimension and the assignment is made to related region identifier of a Z dimension, wherein the assignment'"'"'s offset takes the form of;


    d−

    >

    y
    data=d

    >

    parent−

    >

    zdata[zoffs]+yoffs;

    j) generating a plurality of identifiers, if the related region is arbitrary;

    wherein the generation of a plurality of identifiers includes;

    i) determining if a size of a first dimension of the related region is greater than unit size;

    ii) assigning a first dimension identifier for the related region to the first dimension of the first region plus an offset, if the first dimension of the assigned identifier is determined to be of unit size, wherein the first dimension of the identifier for the related region is a Z dimension and the assignment is made to related region identifier of a Z dimension, wherein the assignment'"'"'s offset takes the form of;


    d−

    >

    z
    data[z][y]=d

    >

    parent−

    >

    zdata[z+zoffs][y+yoffs]+xoffs*size;

    iii) assigning a first dimension identifier for the related region to an address in a corresponding second dimension of the related region, if the first dimension of the assigned identifier is determined to not be of unit size, wherein the first dimension of the identifier for the related region is a Z dimension and the assignment is made to the address in a Y dimension of the related region;

    iv) allocating identifiers for a second dimension for a current dimension slice, wherein allocation of identifiers is made for each unit in the current dimension, wherein the current dimension of the slice is a Z dimension and the allocation is made to a Y dimension;

    k) returning any generated identifiers, wherein the returned identifiers are returned to the referring expression, wherein the identifiers seemingly have characteristics of being an independent set of data, wherein changes to the related set of data through the identifier affect the first set of data, and wherein changes to the first set of data affect the related set of data.

View all claims
  • 0 Assignments
Timeline View
Assignment View
    ×
    ×