From 469d8d563472560ba490170eb871103d16a88525 Mon Sep 17 00:00:00 2001 From: Tom Deakin Date: Fri, 9 Dec 2016 12:19:07 +0000 Subject: [PATCH] Remove old OpenMP 3 code --- OMP3Stream.cpp | 126 ------------------------------------------------- OMP3Stream.h | 41 ---------------- 2 files changed, 167 deletions(-) delete mode 100644 OMP3Stream.cpp delete mode 100644 OMP3Stream.h diff --git a/OMP3Stream.cpp b/OMP3Stream.cpp deleted file mode 100644 index 6334b65..0000000 --- a/OMP3Stream.cpp +++ /dev/null @@ -1,126 +0,0 @@ - -// Copyright (c) 2015-16 Tom Deakin, Simon McIntosh-Smith, -// University of Bristol HPC -// -// For full license terms please see the LICENSE file distributed with this -// source code - -#include "OMP3Stream.h" - -template -OMP3Stream::OMP3Stream(const unsigned int ARRAY_SIZE, T *a, T *b, T *c) -{ - array_size = ARRAY_SIZE; - this->a = (T*)malloc(sizeof(T)*array_size); - this->b = (T*)malloc(sizeof(T)*array_size); - this->c = (T*)malloc(sizeof(T)*array_size); -} - -template -OMP3Stream::~OMP3Stream() -{ - free(a); - free(b); - free(c); -} - - -template -void OMP3Stream::init_arrays(T initA, T initB, T initC) -{ - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - a[i] = initA; - b[i] = initB; - c[i] = initC; - } -} - -template -void OMP3Stream::read_arrays(std::vector& h_a, std::vector& h_b, std::vector& h_c) -{ - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - h_a[i] = a[i]; - h_b[i] = b[i]; - h_c[i] = c[i]; - } -} - -template -void OMP3Stream::copy() -{ - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - c[i] = a[i]; - } -} - -template -void OMP3Stream::mul() -{ - const T scalar = startScalar; - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - b[i] = scalar * c[i]; - } -} - -template -void OMP3Stream::add() -{ - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - c[i] = a[i] + b[i]; - } -} - -template -void OMP3Stream::triad() -{ - const T scalar = startScalar; - #pragma omp parallel for - for (int i = 0; i < array_size; i++) - { - a[i] = b[i] + scalar * c[i]; - } -} - -template -T OMP3Stream::dot() -{ - T sum = 0.0; - - #pragma omp parallel for reduction(+:sum) - for (int i = 0; i < array_size; i++) - { - sum += a[i] * b[i]; - } - - return sum; -} - - -void listDevices(void) -{ - std::cout << "0: CPU" << std::endl; -} - -std::string getDeviceName(const int) -{ - return std::string("Device name unavailable"); -} - -std::string getDeviceDriver(const int) -{ - return std::string("Device driver unavailable"); -} - - -template class OMP3Stream; -template class OMP3Stream; diff --git a/OMP3Stream.h b/OMP3Stream.h deleted file mode 100644 index b6ae1c9..0000000 --- a/OMP3Stream.h +++ /dev/null @@ -1,41 +0,0 @@ - -// Copyright (c) 2015-16 Tom Deakin, Simon McIntosh-Smith, -// University of Bristol HPC -// -// For full license terms please see the LICENSE file distributed with this -// source code - -#pragma once - -#include -#include - -#include "Stream.h" - -#define IMPLEMENTATION_STRING "Reference OpenMP" - -template -class OMP3Stream : public Stream -{ - protected: - // Size of arrays - unsigned int array_size; - // Device side pointers - T *a; - T *b; - T *c; - - public: - OMP3Stream(const unsigned int, T*, T*, T*); - ~OMP3Stream(); - - virtual void copy() override; - virtual void add() override; - virtual void mul() override; - virtual void triad() override; - virtual T dot() override; - - virtual void init_arrays(T initA, T initB, T initC) override; - virtual void read_arrays(std::vector& a, std::vector& b, std::vector& c) override; - -};