示例#1
0
 void resetFlags()
 {
     if (m_set_id) {
         resetCommonFlags();
         m_lhs->resetFlags();
         m_rhs->resetFlags();
     }
 }
示例#2
0
 void resetFlags()
 {
     m_set_id = false;
     m_gen_func = false;
     m_gen_param = false;
     m_gen_offset = false;
     m_lhs->resetFlags();
     m_rhs->resetFlags();
 }
示例#3
0
 void resetFlags()
 {
     m_set_id = false;
     m_gen_func = false;
     m_gen_param = false;
     m_gen_offset = false;
     m_child->resetFlags();
 }
示例#4
0
    void Array<T>::eval()
    {
        if (isReady()) return;

        this->setId(getActiveDeviceId());
        data = Buffer_ptr(bufferAlloc(elements() * sizeof(T)), bufferFree);

        // Do not replace this with cast operator
        KParam info = {{dims()[0], dims()[1], dims()[2], dims()[3]},
                       {strides()[0], strides()[1], strides()[2], strides()[3]},
                       0};

        Param res = {data.get(), info};

        evalNodes(res, this->getNode().get());
        ready = true;

        Node_ptr prev = node;
        prev->resetFlags();
        // FIXME: Replace the current node in any JIT possible trees with the new BufferNode
        node.reset();
    }
示例#5
0
    void Array<T>::eval()
    {
        if (isReady()) return;

        this->setId(getActiveDeviceId());
        data = shared_ptr<T>(memAlloc<T>(elements()),
                             memFree<T>);

        Param<T> res;
        res.ptr = data.get();

        for (int  i = 0; i < 4; i++) {
            res.dims[i] = dims()[i];
            res.strides[i] = strides()[i];
        }

        evalNodes(res, this->getNode().get());
        ready = true;

        Node_ptr prev = node;
        prev->resetFlags();
        // FIXME: Replace the current node in any JIT possible trees with the new BufferNode
        node.reset();
    }
示例#6
0
 void resetFlags()
 {
     resetCommonFlags();
     m_lhs->resetFlags();
     m_rhs->resetFlags();
 }
示例#7
0
 void resetFlags()
 {
     resetCommonFlags();
     m_child->resetFlags();
 }