# The CPU and the GPU

Now the data is in GPU memory, and its buffers are bound as current, but the GPU doesn't know how to interpret it.

We'll want to bind the data to the vertex shader's vertexPosition attribute, so we ask the program where that attribute lies.

We attach the current buffer to that location, indicating the type and layout of the data to be found there.

The arguments are as follows:

 vertexPositionLocation  We're binding to the vertexPosition attribute. 3   There are three values in each row of the table. gl.FLOAT  These are floating point values. false   They do not require normalization. 0   There are no gaps in the data. 0   The first value lies at the beginning of the buffer.