Help to bind data to texture memory


First, I am a texture beginner (and not so advanced with cuda in general), so please forgive me if this question seems easy.

Here is the problem I am trying to solve: I have data that comes in the following form:
float x = [-30 -28 -26 … ]
float y = [0 0 0 … 2 2 2 …]
float z = [-20 -20 …]
float data = [0 500 3 …]

Each set of {x,y,z} corresponds to the coordinates of a point in a cylinder, and data is the value associated to this point. So {x[0],y[0],z[0]} is the coordinates of point 0 and data[0] the value associated to this point.
The original points have spacing of 2 (in each direction), and what I would like to do is interpolate down to a spacing of 1 (or 0.5…).

I understand that this is easily done with textures, but I am a bit confused on how I can bind my data.
Should I create a 3d array with my data? If yes, is there a smart way of filling this array with my values?

Thank you.