What do I change

How do I turn this code into cuda code

// parallel processing test 1.cpp : main project file.

#include “stdafx.h”
#include “omp.h”

using namespace System;

TimeSpan SerialTest(TimeSpan SerialAvg)
{
DateTime dtStart = DateTime::Now;
//Console::WriteLine(“SerialTest Start”);
int iThreads = 1;
omp_set_num_threads(iThreads);

int y = 20;
int xMin = -1000000000;
int xMax = 1000000000;
int xy = 0;
for(int i = xMin; i < xMax; i++)
{
	if((i*i) == y)
	{
		xy++;
	}
}

DateTime dtEnd = DateTime::Now;
TimeSpan tsElapased = dtEnd - dtStart;
//Console::WriteLine("SerialTest End");
Console::WriteLine("Threads({0}): {1}", iThreads, tsElapased);
SerialAvg += tsElapased;
return SerialAvg;

}

TimeSpan ParallelTest1(TimeSpan ParallelAvg1)
{
int iThreads = 2;
omp_set_num_threads(iThreads);

DateTime dtStart = DateTime::Now;
//Console::WriteLine("ParallelTest Start");

int y = 20;
int xMin = -1000000000;
int xMax = 1000000000;
int xy = 0;

#pragma omp parallel for
for(int i = xMin; i < xMax; i++)
{
	if((i*i) == y)
	{
		xy++;
	}
}

DateTime dtEnd = DateTime::Now;
TimeSpan tsElapased = dtEnd - dtStart;
//Console::WriteLine("ParallelTest End");
Console::WriteLine("Threads({0}): {1}", iThreads, tsElapased);
ParallelAvg1 += tsElapased;
return ParallelAvg1;

}

TimeSpan ParallelTest2(TimeSpan ParallelAvg2)
{
int iThreads = 4;
omp_set_num_threads(iThreads);

DateTime dtStart = DateTime::Now;
//Console::WriteLine("ParallelTest2 Start");

int y = 20;
int xMin = -1000000000;
int xMax = 1000000000;
int xy = 0;

#pragma omp parallel for
for(int i = xMin; i < xMax; i++)
{
	if((i*i) == y)
	{
		xy++;
	}
}

DateTime dtEnd = DateTime::Now;
TimeSpan tsElapased = dtEnd - dtStart;
//Console::WriteLine("ParallelTest2 End");
Console::WriteLine("Threads({0}): {1}", iThreads, tsElapased);
ParallelAvg2 += tsElapased;
return ParallelAvg2;

}

TimeSpan ParallelTest3(TimeSpan ParallelAvg3)
{
int iThreads = 8;
omp_set_num_threads(iThreads);

DateTime dtStart = DateTime::Now;
//Console::WriteLine("ParallelTest3 Start");

int y = 20;
int xMin = -1000000000;
int xMax = 1000000000;
int xy = 0;

#pragma omp parallel for
for(int i = xMin; i < xMax; i++)
{
	if((i*i) == y)
	{
		xy++;
	}
}

DateTime dtEnd = DateTime::Now;
TimeSpan tsElapased = dtEnd - dtStart;
//Console::WriteLine("ParallelTest3 End");
Console::WriteLine("Threads({0}): {1}", iThreads, tsElapased);
ParallelAvg3 += tsElapased;
return ParallelAvg3;

}

TimeSpan ParallelTest4(TimeSpan ParallelAvg4)
{
int iThreads = 64;
omp_set_num_threads(iThreads);

DateTime dtStart = DateTime::Now;
//Console::WriteLine("ParallelTest3 Start");

int y = 20;
int xMin = -1000000000;
int xMax = 1000000000;
int xy = 0;

#pragma omp parallel for
for(int i = xMin; i < xMax; i++)
{
	if((i*i) == y)
	{
		xy++;
	}
}

DateTime dtEnd = DateTime::Now;
TimeSpan tsElapased = dtEnd - dtStart;
//Console::WriteLine("ParallelTest3 End");
Console::WriteLine("Threads({0}): {1}", iThreads, tsElapased);
ParallelAvg4 += tsElapased;
return ParallelAvg4;

}

int main()
{
Console::WriteLine(“Press enter to start”);
Console::ReadLine();

double iterations = 10;

DateTime dtStart = DateTime::Now;

TimeSpan SerialAvg;
TimeSpan ParallelAvg1;
TimeSpan ParallelAvg2;
TimeSpan ParallelAvg3;
TimeSpan ParallelAvg4;

for(int i = 0; i < iterations; i++)
{
	Console::WriteLine("Iterations = " + (i+1));

 	SerialAvg = SerialTest(SerialAvg);
	//Console::ReadLine();

 	ParallelAvg1 = ParallelTest1(ParallelAvg1);
	//Console::ReadLine();

	ParallelAvg2 = ParallelTest2(ParallelAvg2);
	//Console::ReadLine();

	ParallelAvg3 = ParallelTest3(ParallelAvg3);
	//Console::ReadLine();

	ParallelAvg4 = ParallelTest4(ParallelAvg4);
	//Console::ReadLine();
}

DateTime dtEnd = DateTime::Now;
TimeSpan spElapsed = dtEnd - dtStart;
Console::WriteLine("Total time: " + spElapsed);

float SerialAvgd = SerialAvg.TotalMilliseconds::get() / iterations;
SerialAvgd = SerialAvgd / 1000;
Console::WriteLine("Serial average time: " + SerialAvgd);

float ParallelAvgd1 = ParallelAvg1.TotalMilliseconds::get() / iterations;
ParallelAvgd1 = ParallelAvgd1 / 1000;
Console::WriteLine("2 threads average time: " + ParallelAvgd1);

float ParallelAvgd2 = ParallelAvg2.TotalMilliseconds::get() / iterations;
ParallelAvgd2 = ParallelAvgd2 / 1000;
Console::WriteLine("4 threads average time: " + ParallelAvgd2);

float ParallelAvgd3 = ParallelAvg3.TotalMilliseconds::get() / iterations;
ParallelAvgd3 = ParallelAvgd3 / 1000;
Console::WriteLine("8 theads average time: " + ParallelAvgd3);

float ParallelAvgd4 = ParallelAvg4.TotalMilliseconds::get() / iterations;
ParallelAvgd4 = ParallelAvgd4 / 1000;
Console::WriteLine("64 threads average time: " + ParallelAvgd4);
Console::ReadLine();

return 0;

}