def getUpperBounds(tensorName, idxB):
    """ tensorName = Bi1i0i2
        idxB = (i0,i1,i2)
        return : map[i0] = blocking1, map[i1] = blocking0, map[i2] = blocking2
    """
    # splits "Bi1i0i2" int ["1","0","2"]
    tokens = [ tensorName[i+1:i+2] for i in range(1,len(tensorName),2)]
    upperBounds = {}
    for i in range(len(idxB)):
        upperBounds[idxB[i]] = "blocking" + tokens[i]

    return upperBounds