Commit 76af95a2 authored by Cianciosa, Mark's avatar Cianciosa, Mark
Browse files

Update hip create kernel call to track needed buffers.

parent 7166cc17
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -230,6 +230,7 @@ namespace gpu {
                        "hipModuleGetFunction");

            std::vector<void *> buffers;
            std::set<graph::leaf_node<float, SAFE_MATH> *> needed_buffers;
            
            for (auto &input : inputs) {
                if (!kernel_arguments.contains(input.get())) {
@@ -243,8 +244,13 @@ namespace gpu {
                                              &backend[0],
                                              backend.size()*sizeof(T)),
                                "hipMemcpyHtoD");
                    buffers.push_back(reinterpret_cast<void *> (&kernel_arguments[input.get()]));
                    needed_buffers.insert(input.get());
                }
                if (!needed_buffers.contains(input.get())) {
                    buffers.push_back(reinterpret_cast<void *> (&kernel_arguments[input.get()]));
                    needed_buffers.insert(input.get());
                }
            }
            for (auto &output : outputs) {
                if (!kernel_arguments.contains(output.get())) {
@@ -253,8 +259,13 @@ namespace gpu {
                                                 num_rays*sizeof(T), 
                                                 hipMemAttachGlobal), 
                                "hipMallocManaged");
                    buffers.push_back(reinterpret_cast<void *> (&kernel_arguments[output.get()]));
                    needed_buffers.insert(output.get());
                }
                if (!needed_buffers.contains(output.get())) {
                    buffers.push_back(reinterpret_cast<void *> (&kernel_arguments[output.get()]));
                    needed_buffers.insert(output.get());
                }
            }

            int gridSize;