Skip to content
Snippets Groups Projects
Commit a42e9056 authored by Giovanni Lacopo's avatar Giovanni Lacopo
Browse files

AMD GPU bug fix

parent 404e0296
No related branches found
No related tags found
No related merge requests found
#include "allvars_rccl.h" #include "allvars_rccl.h"
#include "proto.h" #include "proto.h"
#include <hip/hip_runtime.h> #include <hip/hip_runtime.h>
#include <rccl/rccl.h> #include <rccl.h>
/* /*
* Implements the gridding of data via GPU * Implements the gridding of data via GPU
...@@ -104,18 +104,18 @@ void gridding_data(){ ...@@ -104,18 +104,18 @@ void gridding_data(){
uint Nsec = histo_send[isector]; uint Nsec = histo_send[isector];
uint Nweightss = Nsec*metaData.polarisations; uint Nweightss = Nsec*metaData.polarisations;
uint Nvissec = Nweightss*metaData.freq_per_chan; uint Nvissec = Nweightss*metaData.freq_per_chan;
double_t *memory = (double*) malloc ( (Nsec*3)*sizeof(double_t) + double_ty *memory = (double*) malloc ( (Nsec*3)*sizeof(double_ty) +
(Nvissec*2+Nweightss)*sizeof(float_t) ); (Nvissec*2+Nweightss)*sizeof(float_ty) );
if ( memory == NULL ) if ( memory == NULL )
shutdown_wstacking(NOT_ENOUGH_MEM_STACKING, "Not enough memory for stacking", __FILE__, __LINE__); shutdown_wstacking(NOT_ENOUGH_MEM_STACKING, "Not enough memory for stacking", __FILE__, __LINE__);
double_t *uus = (double_t*) memory; double_ty *uus = (double_ty*) memory;
double_t *vvs = (double_t*) uus+Nsec; double_ty *vvs = (double_ty*) uus+Nsec;
double_t *wws = (double_t*) vvs+Nsec; double_ty *wws = (double_ty*) vvs+Nsec;
float_t *weightss = (float_t*)((double_t*)wws+Nsec); float_ty *weightss = (float_ty*)((double_t*)wws+Nsec);
float_t *visreals = (float_t*)weightss + Nweightss; float_ty *visreals = (float_ty*)weightss + Nweightss;
float_t *visimgs = (float_t*)visreals + Nvissec; float_ty *visimgs = (float_ty*)visreals + Nvissec;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment