Skip to content
Extraits de code Groupes Projets
Valider 110e0e84 rédigé par JordanHanotiaux's avatar JordanHanotiaux
Parcourir les fichiers

up

parent 27830ca7
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -106,7 +106,14 @@ int main(int argc, char** argv) { ...@@ -106,7 +106,14 @@ int main(int argc, char** argv) {
std::cout << "Using Device: " << device.getInfo<CL_DEVICE_NAME>() << std::endl; std::cout << "Using Device: " << device.getInfo<CL_DEVICE_NAME>() << std::endl;
cl::Context context(device); cl::Context context(device);
cl::CommandQueue queue(context, device, CL_QUEUE_PROFILING_ENABLE); // Keep profiling enabled cl_int err;
cl_command_queue cq = clCreateCommandQueue(context(), device(), CL_QUEUE_PROFILING_ENABLE, &err);
if (err != CL_SUCCESS) {
std::cerr << "Failed to create command queue: " << err << std::endl;
exit(1);
}
cl::CommandQueue queue(cq, true);
std::vector<cl::Device> devices_to_init = {device}; std::vector<cl::Device> devices_to_init = {device};
try { try {
......
...@@ -77,7 +77,7 @@ const std::string kernel_source_transpose = R"( ...@@ -77,7 +77,7 @@ const std::string kernel_source_transpose = R"(
} }
)"; )";
// NAIVE // NAIVE
/*const std::string kernel_source_matrix_mul = R"( const std::string kernel_source_matrix_mul = R"(
__kernel void matrix_mul(__global const float* A, __global const float* B, __global float* C, int A_rows, int A_cols, int B_cols) { __kernel void matrix_mul(__global const float* A, __global const float* B, __global float* C, int A_rows, int A_cols, int B_cols) {
int row = get_global_id(0); int row = get_global_id(0);
int col = get_global_id(1); int col = get_global_id(1);
...@@ -85,10 +85,10 @@ const std::string kernel_source_transpose = R"( ...@@ -85,10 +85,10 @@ const std::string kernel_source_transpose = R"(
C[row * B_cols + col] += A[row * A_cols + k] * B[k * B_cols + col]; C[row * B_cols + col] += A[row * A_cols + k] * B[k * B_cols + col];
} }
} }
)";*/ )";
// FASTER // FASTER
const std::string kernel_source_matrix_mul = R"( /*const std::string kernel_source_matrix_mul = R"(
__kernel void matrix_mul(__global const float* A, __kernel void matrix_mul(__global const float* A,
__global const float* B, __global const float* B,
__global float* C, __global float* C,
...@@ -120,7 +120,7 @@ const std::string kernel_source_matrix_mul = R"( ...@@ -120,7 +120,7 @@ const std::string kernel_source_matrix_mul = R"(
barrier(CLK_LOCAL_MEM_FENCE); barrier(CLK_LOCAL_MEM_FENCE);
} }
})"; })";*/
const std::string kernel_source_sigmoid = R"( const std::string kernel_source_sigmoid = R"(
__kernel void sigmoid(__global const float* input, __global float* output, int rows, int cols) { __kernel void sigmoid(__global const float* input, __global float* output, int rows, int cols) {
int idx = get_global_id(0); int idx = get_global_id(0);
...@@ -348,7 +348,7 @@ MatrixCL MatrixCL::operator+(const MatrixCL& other) const { ...@@ -348,7 +348,7 @@ MatrixCL MatrixCL::operator+(const MatrixCL& other) const {
} }
// NAIVE VERSION // NAIVE VERSION
/*MatrixCL MatrixCL::operator*(const MatrixCL& other) const { MatrixCL MatrixCL::operator*(const MatrixCL& other) const {
if (cols_ != other.rows_) if (cols_ != other.rows_)
throw std::runtime_error("Matrix dimension error."); throw std::runtime_error("Matrix dimension error.");
...@@ -368,10 +368,10 @@ MatrixCL MatrixCL::operator+(const MatrixCL& other) const { ...@@ -368,10 +368,10 @@ MatrixCL MatrixCL::operator+(const MatrixCL& other) const {
} }
return result; return result;
}*/ }
// FASTER VERSION // FASTER VERSION
MatrixCL MatrixCL::operator*(const MatrixCL& other) const { /*MatrixCL MatrixCL::operator*(const MatrixCL& other) const {
if (cols_ != other.rows_) if (cols_ != other.rows_)
throw std::runtime_error("Matrix dimension error."); throw std::runtime_error("Matrix dimension error.");
...@@ -404,7 +404,7 @@ MatrixCL MatrixCL::operator*(const MatrixCL& other) const { ...@@ -404,7 +404,7 @@ MatrixCL MatrixCL::operator*(const MatrixCL& other) const {
} }
return result; return result;
} }*/
MatrixCL MatrixCL::transpose() const { MatrixCL MatrixCL::transpose() const {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter