mirror of
https://github.com/mmueller41/genode.git
synced 2026-01-21 12:32:56 +01:00
added linear-algebra benchmarks
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "CL/cl.h"
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
@@ -28,8 +28,8 @@
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "2mm.h"
|
||||
#include "polybench.h"
|
||||
#include "polybenchUtilFuncts.h"
|
||||
#include "../../polybench.h"
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 1.05
|
||||
@@ -45,6 +45,10 @@
|
||||
|
||||
#include "2mm_kernel.h"
|
||||
|
||||
namespace ns_2mm {
|
||||
|
||||
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
@@ -415,4 +419,6 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
#include "polybench.cc"
|
||||
}
|
||||
|
||||
// #include "../../polybench.cc"
|
||||
51
repos/hello_gpgpu/src/hello_gpgpu/benchmark/2mm/2mm.cl
Normal file
51
repos/hello_gpgpu/src/hello_gpgpu/benchmark/2mm/2mm.cl
Normal file
@@ -0,0 +1,51 @@
|
||||
/**
|
||||
* 2mm.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
/* Can switch DATA_TYPE between float and double */
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
__kernel void mm2_kernel1(__global DATA_TYPE *tmp, __global DATA_TYPE *A, __global DATA_TYPE *B, int ni, int nj, int nk, int nl, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < ni) && (j < nj))
|
||||
{
|
||||
tmp[i * nj + j] = 0;
|
||||
int k;
|
||||
for (k = 0; k < nk; k++)
|
||||
{
|
||||
tmp[i * nj + j] += alpha * A[i * nk + k] * B[k * nj + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__kernel void mm2_kernel2(__global DATA_TYPE *tmp, __global DATA_TYPE *C, __global DATA_TYPE *D, int ni, int nj, int nk, int nl, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < ni) && (j < nl))
|
||||
{
|
||||
D[i * nl + j] *= beta;
|
||||
int k;
|
||||
for (k = 0; k < nj; k++)
|
||||
{
|
||||
D[i * nl + j] += tmp[i * nj + k] * C[k * nl + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define SMALL_DATASET
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
451
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.cc
Normal file
451
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.cc
Normal file
@@ -0,0 +1,451 @@
|
||||
/**
|
||||
* 3mm.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "3mm.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 10.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
#include "3mm_kernel.h"
|
||||
|
||||
namespace ns_3mm {
|
||||
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_kernel clKernel3;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem b_mem_obj;
|
||||
cl_mem c_mem_obj;
|
||||
cl_mem d_mem_obj;
|
||||
cl_mem e_mem_obj;
|
||||
cl_mem f_mem_obj;
|
||||
cl_mem g_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
|
||||
void compareResults(int ni, int nl, DATA_TYPE POLYBENCH_2D(G, NI, NL, ni, nl), DATA_TYPE POLYBENCH_2D(G_outputFromGpu, NI, NL, ni, nl))
|
||||
{
|
||||
int i,j,fail;
|
||||
fail = 0;
|
||||
|
||||
for (i=0; i < ni; i++)
|
||||
{
|
||||
for (j=0; j < nl; j++)
|
||||
{
|
||||
if (percentDiff(G[i][j], G_outputFromGpu[i][j]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("3mm.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
void init_array(int ni, int nj, int nk, int nl, int nm, DATA_TYPE POLYBENCH_2D(A, NI, NK, ni, nk), DATA_TYPE POLYBENCH_2D(B, NK, NJ, nk, nj),
|
||||
DATA_TYPE POLYBENCH_2D(C, NJ, NM, nj, nm), DATA_TYPE POLYBENCH_2D(D, NM, NL, nm, nl))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < nk; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < nk; i++)
|
||||
{
|
||||
for (j = 0; j < nj; j++)
|
||||
{
|
||||
B[i][j] = ((DATA_TYPE) i*(j+1)) / nj;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < nj; i++)
|
||||
{
|
||||
for (j = 0; j < nm; j++)
|
||||
{
|
||||
C[i][j] = ((DATA_TYPE) i*(j+3)) / nl;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < nm; i++)
|
||||
{
|
||||
for (j = 0; j < nl; j++)
|
||||
{
|
||||
D[i][j] = ((DATA_TYPE) i*(j+2)) / nk;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(B, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(C, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(D, NI, NJ, ni, nj),
|
||||
DATA_TYPE POLYBENCH_2D(E, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(F, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(G, NI, NJ, ni, nj))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_ONLY, sizeof(DATA_TYPE) * NI * NK, NULL, &errcode);
|
||||
b_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_ONLY, sizeof(DATA_TYPE) * NK * NJ, NULL, &errcode);
|
||||
c_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NJ * NM, NULL, &errcode);
|
||||
d_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NM * NL, NULL, &errcode);
|
||||
e_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NJ, NULL, &errcode);
|
||||
f_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NJ * NL, NULL, &errcode);
|
||||
g_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NL, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NK, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, b_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NK * NJ, B, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NJ * NM, C, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, d_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NM * NL, D, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, e_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NJ, E, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, f_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NJ * NL, F, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, g_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NL, G, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = __3mm_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = __3mm_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernels
|
||||
clKernel1 = clCreateKernel(clProgram, "mm3_kernel1", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clKernel2 = clCreateKernel(clProgram, "mm3_kernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clKernel3 = clCreateKernel(clProgram, "mm3_kernel3", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
void cl_launch_kernel(int ni, int nj, int nk, int nl, int nm)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NJ) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NI) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&e_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(int), (void *)&ni);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(int), (void *)&nj);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(int), (void *)&nk);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
// Execute the OpenCL kernel
|
||||
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clEnqueueBarrier(clCommandQue);
|
||||
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NL) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NJ) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(cl_mem), (void *)&d_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(cl_mem), (void *)&f_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(int), (void *)&nj);
|
||||
errcode |= clSetKernelArg(clKernel2, 4, sizeof(int), (void *)&nl);
|
||||
errcode |= clSetKernelArg(clKernel2, 5, sizeof(int), (void *)&nm);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clEnqueueBarrier(clCommandQue);
|
||||
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NL) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NI) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
errcode = clSetKernelArg(clKernel3, 0, sizeof(cl_mem), (void *)&e_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 1, sizeof(cl_mem), (void *)&f_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 2, sizeof(cl_mem), (void *)&g_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 3, sizeof(int), (void *)&ni);
|
||||
errcode |= clSetKernelArg(clKernel3, 4, sizeof(int), (void *)&nl);
|
||||
errcode |= clSetKernelArg(clKernel3, 5, sizeof(int), (void *)&nj);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel3, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseKernel(clKernel2);
|
||||
errcode = clReleaseKernel(clKernel3);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(b_mem_obj);
|
||||
errcode = clReleaseMemObject(c_mem_obj);
|
||||
errcode = clReleaseMemObject(d_mem_obj);
|
||||
errcode = clReleaseMemObject(e_mem_obj);
|
||||
errcode = clReleaseMemObject(f_mem_obj);
|
||||
errcode = clReleaseMemObject(g_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
/* Main computational kernel on CPU */
|
||||
void mm3_cpu(int ni, int nj, int nk, int nl, int nm,
|
||||
DATA_TYPE POLYBENCH_2D(E,NI,NJ,ni,nj),
|
||||
DATA_TYPE POLYBENCH_2D(A,NI,NK,ni,nk),
|
||||
DATA_TYPE POLYBENCH_2D(B,NK,NJ,nk,nj),
|
||||
DATA_TYPE POLYBENCH_2D(F,NJ,NL,nj,nl),
|
||||
DATA_TYPE POLYBENCH_2D(C,NJ,NM,nj,nm),
|
||||
DATA_TYPE POLYBENCH_2D(D,NM,NL,nm,nl),
|
||||
DATA_TYPE POLYBENCH_2D(G,NI,NL,ni,nl))
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
/* E := A*B */
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NJ; j++)
|
||||
{
|
||||
E[i][j] = 0;
|
||||
for (k = 0; k < _PB_NK; ++k)
|
||||
{
|
||||
E[i][j] += A[i][k] * B[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* F := C*D */
|
||||
for (i = 0; i < _PB_NJ; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NL; j++)
|
||||
{
|
||||
F[i][j] = 0;
|
||||
for (k = 0; k < _PB_NM; ++k)
|
||||
{
|
||||
F[i][j] += C[i][k] * D[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* G := E*F */
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NL; j++)
|
||||
{
|
||||
G[i][j] = 0;
|
||||
for (k = 0; k < _PB_NJ; ++k)
|
||||
{
|
||||
G[i][j] += E[i][k] * F[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int ni, int nl,
|
||||
DATA_TYPE POLYBENCH_2D(G,NI,NL,ni,nl))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
for (j = 0; j < nl; j++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, G[i][j]);
|
||||
if ((i * ni + j) % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ni = NI;
|
||||
int nj = NJ;
|
||||
int nk = NK;
|
||||
int nl = NL;
|
||||
int nm = NM;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
POLYBENCH_2D_ARRAY_DECL(E, DATA_TYPE, NI, NJ, ni, nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(A, DATA_TYPE, NI, NK, ni, nk);
|
||||
POLYBENCH_2D_ARRAY_DECL(B, DATA_TYPE, NK, NJ, nk, nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(F, DATA_TYPE, NJ, NL, nj, nl);
|
||||
POLYBENCH_2D_ARRAY_DECL(C, DATA_TYPE, NJ, NM, nj, nm);
|
||||
POLYBENCH_2D_ARRAY_DECL(D, DATA_TYPE, NM, NL, nm, nl);
|
||||
POLYBENCH_2D_ARRAY_DECL(G, DATA_TYPE, NI, NL, ni, nl);
|
||||
POLYBENCH_2D_ARRAY_DECL(G_outputFromGpu, DATA_TYPE, NI, NL, ni, nl);
|
||||
|
||||
init_array(ni, nj, nk, nl, nm, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(D));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(D), POLYBENCH_ARRAY(E), POLYBENCH_ARRAY(F), POLYBENCH_ARRAY(G));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(ni, nj, nk, nl, nm);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, g_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NL, POLYBENCH_ARRAY(G_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
mm3_cpu(ni, nj, nk, nl, nm, POLYBENCH_ARRAY(E), POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(F), POLYBENCH_ARRAY(C),
|
||||
POLYBENCH_ARRAY(D), POLYBENCH_ARRAY(G));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(ni, nl, POLYBENCH_ARRAY(G), POLYBENCH_ARRAY(G_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(ni, nl, POLYBENCH_ARRAY(G_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(B);
|
||||
POLYBENCH_FREE_ARRAY(C);
|
||||
POLYBENCH_FREE_ARRAY(D);
|
||||
POLYBENCH_FREE_ARRAY(E);
|
||||
POLYBENCH_FREE_ARRAY(F);
|
||||
POLYBENCH_FREE_ARRAY(G);
|
||||
POLYBENCH_FREE_ARRAY(G_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//#include "../../polybench.cc"
|
||||
|
||||
66
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.cl
Normal file
66
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.cl
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* 3mm.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
__kernel void mm3_kernel1(__global DATA_TYPE *A, __global DATA_TYPE *B, __global DATA_TYPE *E, int ni, int nj, int nk)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < ni) && (j < nj))
|
||||
{
|
||||
int k;
|
||||
E[i*nj + j] = 0;
|
||||
for(k=0; k < nk; k++)
|
||||
{
|
||||
E[i * nj + j] += A[i * nk + k] * B[k * nj + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__kernel void mm3_kernel2(__global DATA_TYPE *C, __global DATA_TYPE *D, __global DATA_TYPE *F, int nj, int nl, int nm)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < nj) && (j < nl))
|
||||
{
|
||||
int k;
|
||||
F[i*nl + j] = 0;
|
||||
for(k=0; k < nm; k++)
|
||||
{
|
||||
F[i * nl + j] += C[i * nm + k] * D[k * nl +j];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
__kernel void mm3_kernel3(__global DATA_TYPE *E, __global DATA_TYPE *F, __global DATA_TYPE *G, int ni, int nl, int nj)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < ni) && (j < nl))
|
||||
{
|
||||
int k;
|
||||
G[i*nl + j] = 0;
|
||||
for(k=0; k < nj; k++)
|
||||
{
|
||||
G[i * nl + j] += E[i * nj + k] * F[k * nl + j];
|
||||
}
|
||||
}
|
||||
}
|
||||
79
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.h
Normal file
79
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm.h
Normal file
@@ -0,0 +1,79 @@
|
||||
/**
|
||||
* 3mm.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef THREEMM_H
|
||||
# define THREEMM_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NI) && !defined(NJ) && !defined(NK) && !defined(NL) && !defined(NM)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
# define NI 128
|
||||
# define NJ 128
|
||||
# define NK 128
|
||||
# define NL 128
|
||||
# define NM 128
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
# define NI 256
|
||||
# define NJ 256
|
||||
# define NK 256
|
||||
# define NL 256
|
||||
# define NM 256
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
# define NI 512
|
||||
# define NJ 512
|
||||
# define NK 512
|
||||
# define NL 512
|
||||
# define NM 512
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
# define NI 1024
|
||||
# define NJ 1024
|
||||
# define NK 1024
|
||||
# define NL 1024
|
||||
# define NM 1024
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
# define NI 2048
|
||||
# define NJ 2048
|
||||
# define NK 2048
|
||||
# define NL 2048
|
||||
# define NM 2048
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni)
|
||||
# define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj)
|
||||
# define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk)
|
||||
# define _PB_NL POLYBENCH_LOOP_BOUND(NL,nl)
|
||||
# define _PB_NM POLYBENCH_LOOP_BOUND(NM,nm)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !THREEMM*/
|
||||
765
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm_kernel.h
Normal file
765
repos/hello_gpgpu/src/hello_gpgpu/benchmark/3mm/3mm_kernel.h
Normal file
@@ -0,0 +1,765 @@
|
||||
unsigned char __3mm_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x04, 0x79, 0xec, 0x42, 0x04, 0x95, 0x9b,
|
||||
0xc7, 0x93, 0x3f, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x6d, 0x6d, 0x33, 0x5f,
|
||||
0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x30, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0x34, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22, 0xc0, 0x01, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0c, 0x0a, 0x07,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x80, 0x01, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0x20, 0x2d, 0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x40, 0x24, 0xc4, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x0e, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0x40, 0x04, 0xb1, 0x12, 0x20, 0x0d, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0x88, 0x02, 0x00, 0x00,
|
||||
0x88, 0x02, 0x00, 0x00, 0x41, 0x96, 0x79, 0x20, 0x07, 0x74, 0x76, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0x40, 0x2e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x80, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x74, 0x74, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x20, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x40, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xa0, 0x01, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20, 0x07, 0x70, 0x76, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x2d,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc8, 0x2f,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x1a, 0x70, 0x7e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0xc0, 0x02, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x2f, 0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00,
|
||||
0x40, 0x96, 0x19, 0x20, 0xe0, 0x20, 0x7e, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0xc8, 0x0f, 0x00, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x23, 0x40, 0x03, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0x80, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x24, 0x00, 0x04, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x1a, 0x1a, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d, 0x80, 0x0d, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x20, 0x20, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x23,
|
||||
0x40, 0x03, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x10, 0x17, 0x17, 0x25,
|
||||
0x00, 0x00, 0x7e, 0x09, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2c,
|
||||
0x00, 0x04, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x23, 0x80, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0x40, 0x0d, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x5b, 0xe2, 0x06, 0x20,
|
||||
0x00, 0x70, 0x73, 0xce, 0x5b, 0x83, 0x01, 0x20, 0x00, 0xc0, 0x78, 0xca,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x06, 0x00, 0x82, 0x0e, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0x80, 0x01, 0x00,
|
||||
0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00,
|
||||
0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0xa8, 0xfe, 0xff, 0xff,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x45, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x69, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6b, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x95, 0x57, 0x8d, 0x25, 0x42, 0x04, 0x95, 0x9b,
|
||||
0xc7, 0x93, 0x3f, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x6d, 0x6d, 0x33, 0x5f,
|
||||
0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x32, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x30, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0x34, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22, 0xc0, 0x01, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0c, 0x0a, 0x07,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x80, 0x01, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0x20, 0x2d, 0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x40, 0x24, 0xc4, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x0e, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0x40, 0x04, 0xb1, 0x12, 0x20, 0x0d, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0x88, 0x02, 0x00, 0x00,
|
||||
0x88, 0x02, 0x00, 0x00, 0x41, 0x96, 0x79, 0x20, 0x07, 0x74, 0x76, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0x40, 0x2e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x80, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x74, 0x74, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x20, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x40, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xa0, 0x01, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20, 0x07, 0x70, 0x76, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x2d,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc8, 0x2f,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x1a, 0x70, 0x7e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0xc0, 0x02, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x2f, 0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00,
|
||||
0x40, 0x96, 0x19, 0x20, 0xe0, 0x20, 0x7e, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0xc8, 0x0f, 0x00, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x23, 0x40, 0x03, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0x80, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x24, 0x00, 0x04, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x1a, 0x1a, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d, 0x80, 0x0d, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x20, 0x20, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x23,
|
||||
0x40, 0x03, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x10, 0x17, 0x17, 0x25,
|
||||
0x00, 0x00, 0x7e, 0x09, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2c,
|
||||
0x00, 0x04, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x23, 0x80, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0x40, 0x0d, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x5b, 0xe2, 0x06, 0x20,
|
||||
0x00, 0x70, 0x73, 0xce, 0x5b, 0x83, 0x01, 0x20, 0x00, 0xc0, 0x78, 0xca,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x06, 0x00, 0x82, 0x0e, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0x80, 0x01, 0x00,
|
||||
0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00,
|
||||
0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0xa8, 0xfe, 0xff, 0xff,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x43, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x46, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6c, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6d, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x45, 0x3e, 0xfc, 0xaa, 0x42, 0x04, 0x95, 0x9b,
|
||||
0xc7, 0x93, 0x3f, 0x26, 0x0c, 0x00, 0x00, 0x00, 0x3c, 0x06, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x6d, 0x6d, 0x33, 0x5f,
|
||||
0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x33, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x30, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0x34, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22, 0xc0, 0x01, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0c, 0x0a, 0x07,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x80, 0x01, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0x20, 0x2d, 0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x40, 0x24, 0xc4, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x0e, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0x40, 0x04, 0xb1, 0x12, 0x20, 0x0d, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0x88, 0x02, 0x00, 0x00,
|
||||
0x88, 0x02, 0x00, 0x00, 0x41, 0x96, 0x79, 0x20, 0x07, 0x74, 0x76, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0x40, 0x2e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x80, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x74, 0x74, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x20, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x40, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xa0, 0x01, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20, 0x07, 0x70, 0x76, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x2d,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc8, 0x2f,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x1a, 0x70, 0x7e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0xc0, 0x02, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x2f, 0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00,
|
||||
0x40, 0x96, 0x19, 0x20, 0xe0, 0x20, 0x7e, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0xc8, 0x0f, 0x00, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x23, 0x40, 0x03, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0x80, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x24, 0x00, 0x04, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x1a, 0x1a, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d, 0x80, 0x0d, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x20, 0x20, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x23,
|
||||
0x40, 0x03, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x10, 0x17, 0x17, 0x25,
|
||||
0x00, 0x00, 0x7e, 0x09, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2c,
|
||||
0x00, 0x04, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x23, 0x80, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0x40, 0x0d, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc4, 0x0f, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x5b, 0xe2, 0x06, 0x20,
|
||||
0x00, 0x70, 0x73, 0xce, 0x5b, 0x83, 0x01, 0x20, 0x00, 0xc0, 0x78, 0xca,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x06, 0x00, 0x82, 0x0e, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0x80, 0x01, 0x00,
|
||||
0x42, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00,
|
||||
0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0xa8, 0xfe, 0xff, 0xff,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x47, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x69, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6c, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int __3mm_Gen9core_gen_len = 9136;
|
||||
358
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.cc
Normal file
358
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.cc
Normal file
@@ -0,0 +1,358 @@
|
||||
/**
|
||||
* atax.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "atax.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159
|
||||
#endif
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
#include "atax_kernel.h"
|
||||
|
||||
namespace ns_atax {
|
||||
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem x_mem_obj;
|
||||
cl_mem y_mem_obj;
|
||||
cl_mem tmp_mem_obj;
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int ny, DATA_TYPE POLYBENCH_1D(z,NY,ny), DATA_TYPE POLYBENCH_1D(z_outputFromGpu,NY,ny))
|
||||
{
|
||||
int i, fail;
|
||||
fail = 0;
|
||||
|
||||
for (i=0; i<ny; i++)
|
||||
{
|
||||
if (percentDiff(z[i], z_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
// print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("atax.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init_array(int nx, int ny, DATA_TYPE POLYBENCH_1D(x,NX,nx), DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < nx; i++)
|
||||
{
|
||||
x[i] = i * M_PI;
|
||||
for (j = 0; j < ny; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / NX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny), DATA_TYPE POLYBENCH_1D(x,NY,ny), DATA_TYPE POLYBENCH_1D(y,NY,ny), DATA_TYPE POLYBENCH_1D(tmp,NX,nx))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX * NY, NULL, &errcode);
|
||||
x_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NY, NULL, &errcode);
|
||||
y_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NY, NULL, &errcode);
|
||||
tmp_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX * NY, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, x_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NY, x, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, y_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NY, y, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, tmp_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX, tmp, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = atax_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = atax_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the 1st OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "atax_kernel1", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
|
||||
// Create the 2nd OpenCL kernel
|
||||
clKernel2 = clCreateKernel(clProgram, "atax_kernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int nx, int ny)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NX) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = 1;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&x_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&tmp_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(int), (void *)&nx);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(int), (void *)&ny);
|
||||
if(errcode != CL_SUCCESS) printf("Error in setting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clEnqueueBarrier(clCommandQue);
|
||||
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NY) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = 1;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(cl_mem), (void *)&y_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(cl_mem), (void *)&tmp_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(int), (void *)&nx);
|
||||
errcode |= clSetKernelArg(clKernel2, 4, sizeof(int), (void *)&ny);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseKernel(clKernel2);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(x_mem_obj);
|
||||
errcode = clReleaseMemObject(y_mem_obj);
|
||||
errcode = clReleaseMemObject(tmp_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void atax_cpu(int nx, int ny, DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny), DATA_TYPE POLYBENCH_1D(x,NY,ny), DATA_TYPE POLYBENCH_1D(y,NY,ny),
|
||||
DATA_TYPE POLYBENCH_1D(tmp,NX,nx))
|
||||
{
|
||||
int i,j;
|
||||
|
||||
for (i= 0; i < _PB_NY; i++)
|
||||
{
|
||||
y[i] = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_NX; i++)
|
||||
{
|
||||
tmp[i] = 0;
|
||||
|
||||
for (j = 0; j < _PB_NY; j++)
|
||||
{
|
||||
tmp[i] = tmp[i] + A[i][j] * x[j];
|
||||
}
|
||||
|
||||
for (j = 0; j < _PB_NY; j++)
|
||||
{
|
||||
y[j] = y[j] + A[i][j] * tmp[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int nx, DATA_TYPE POLYBENCH_1D(y,NX,nx))
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nx; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, y[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int nx = NX;
|
||||
int ny = NY;
|
||||
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,NX,NY,nx,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(x,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(y,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(y_outputFromGpu,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(tmp,DATA_TYPE,NX,nx);
|
||||
|
||||
init_array(nx, ny, POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(A));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(tmp));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(nx, ny);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, y_mem_obj, CL_TRUE, 0, NY*sizeof(DATA_TYPE), POLYBENCH_ARRAY(y_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
atax_cpu(nx, ny, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(tmp));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(ny, POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(y_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(ny, POLYBENCH_ARRAY(y_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(x);
|
||||
POLYBENCH_FREE_ARRAY(y);
|
||||
POLYBENCH_FREE_ARRAY(y_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(tmp);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
46
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.cl
Normal file
46
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.cl
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* atax.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
__kernel void atax_kernel1(__global DATA_TYPE *A, __global DATA_TYPE *x, __global DATA_TYPE *tmp, int nx, int ny) {
|
||||
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < nx)
|
||||
{
|
||||
int j;
|
||||
for(j=0; j < ny; j++)
|
||||
{
|
||||
tmp[i] += A[i * ny + j] * x[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__kernel void atax_kernel2(__global DATA_TYPE *A, __global DATA_TYPE *y, __global DATA_TYPE *tmp, int nx, int ny) {
|
||||
|
||||
int j = get_global_id(0);
|
||||
|
||||
if (j < ny)
|
||||
{
|
||||
int i;
|
||||
for(i=0; i < nx; i++)
|
||||
{
|
||||
y[j] += A[i * ny + j] * tmp[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.h
Normal file
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* atax.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef ATAX_H
|
||||
# define ATAX_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NX) && !defined(NY)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define NX 1024
|
||||
#define NY 1024
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define NX 2048
|
||||
#define NY 2048
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define NX 4096
|
||||
#define NY 4096
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define NX 8192
|
||||
#define NY 8192
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define NX 16384
|
||||
#define NY 16384
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx)
|
||||
# define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !ATAX*/
|
||||
434
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax_kernel.h
Normal file
434
repos/hello_gpgpu/src/hello_gpgpu/benchmark/atax/atax_kernel.h
Normal file
@@ -0,0 +1,434 @@
|
||||
unsigned char atax_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0xcc, 0x1d, 0x53, 0x51, 0x8d, 0x3d, 0x0f,
|
||||
0x7e, 0xfe, 0x63, 0xb6, 0x10, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00,
|
||||
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0x98, 0x02, 0x00, 0x00, 0x61, 0x74, 0x61, 0x78,
|
||||
0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x28, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x1c, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x03,
|
||||
0x26, 0x0a, 0x00, 0x20, 0x1c, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x40, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0xa0, 0x22, 0xc4, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x01, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x4a, 0x12, 0x20, 0x2e, 0xc4, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x20, 0x80, 0x02, 0x42, 0x12, 0x00, 0x20, 0x20, 0x0e, 0xb1, 0x12,
|
||||
0xa0, 0x02, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20,
|
||||
0x88, 0x01, 0x00, 0x00, 0x88, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x21, 0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x2e, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x41, 0x96, 0x79, 0x20, 0x07, 0x0c, 0x0a, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x0e, 0x0e, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x2e, 0xc0, 0x0e, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x00, 0x22, 0xc0, 0x01, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x2e, 0xc0, 0x0e, 0x00, 0x06,
|
||||
0x02, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x01, 0x20, 0x07, 0x72, 0x0c, 0x06,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x00, 0x0f, 0x8d, 0x0a,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0x00, 0x21,
|
||||
0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x31, 0x00, 0x00, 0x0a,
|
||||
0x0c, 0x02, 0x80, 0x22, 0x00, 0x01, 0x00, 0x06, 0x01, 0x08, 0x11, 0x02,
|
||||
0x10, 0x17, 0x7b, 0x25, 0x00, 0x00, 0x06, 0x08, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x72, 0x72, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05,
|
||||
0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2d, 0x40, 0x0e, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2d,
|
||||
0x40, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x5b, 0x02, 0x01, 0x20,
|
||||
0x02, 0x80, 0xbc, 0x29, 0x5b, 0x43, 0x07, 0x20, 0x02, 0xa0, 0xb7, 0x29,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0x00, 0x01, 0x00, 0xc2, 0x01, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0x40, 0x07, 0x00,
|
||||
0xc2, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00,
|
||||
0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0x08, 0xff, 0xff, 0xff,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x03, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x6d, 0x70, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x78, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x79, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfd, 0x8e, 0xdb, 0x2d, 0x51, 0x8d, 0x3d, 0x0f,
|
||||
0x7e, 0xfe, 0x63, 0xb6, 0x10, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00,
|
||||
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00, 0x61, 0x74, 0x61, 0x78,
|
||||
0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x32, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x28, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc8, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x03,
|
||||
0x26, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x40, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0x60, 0x22, 0xc8, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x01, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x4a, 0x12, 0x60, 0x2e, 0xc8, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x20, 0x80, 0x02, 0x42, 0x12, 0x00, 0x20, 0x60, 0x0e, 0xb1, 0x12,
|
||||
0x60, 0x02, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20,
|
||||
0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x21, 0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x0c, 0x0c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x00, 0x0f, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x21, 0x80, 0x01, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x2e, 0x00, 0x0f, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x96, 0x15, 0x20, 0xe0, 0x10, 0x7e, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0x40, 0x22,
|
||||
0x00, 0x01, 0x00, 0x06, 0x02, 0x08, 0x11, 0x02, 0x10, 0x17, 0x77, 0x25,
|
||||
0x00, 0x00, 0x06, 0x08, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22,
|
||||
0x00, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x10, 0x10, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2e,
|
||||
0x00, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x2d, 0x80, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x5b, 0xe2, 0x00, 0x20, 0x02, 0x70, 0xc4, 0x25, 0x5b, 0x63, 0x07, 0x20,
|
||||
0x02, 0xb0, 0xbf, 0x25, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x00, 0x00,
|
||||
0x82, 0x01, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x60, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xf8, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x74, 0x6d, 0x70, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x78, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x79, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int atax_Gen9core_gen_len = 5164;
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
|
||||
|
||||
namespace ns_2mm{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_3mm{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_atax{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_bicg{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_doitgen{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_gemm{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
|
||||
namespace ns_gemver{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_gesummv{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_mvt{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_syr2k{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
namespace ns_syrk{int main(int argc, char *argv[]);};
|
||||
extern int main(int argc, char *argv[]);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
388
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.cc
Normal file
388
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.cc
Normal file
@@ -0,0 +1,388 @@
|
||||
/**
|
||||
* bicg.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "bicg.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI 3.14159
|
||||
#endif
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_bicg {
|
||||
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
#include "bicg_kernel.h"
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem r_mem_obj;
|
||||
cl_mem p_mem_obj;
|
||||
cl_mem q_mem_obj;
|
||||
cl_mem s_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int nx, int ny, DATA_TYPE POLYBENCH_1D(s,NY,ny), DATA_TYPE POLYBENCH_1D(s_outputFromGpu,NY,ny),
|
||||
DATA_TYPE POLYBENCH_1D(q,NX,nx), DATA_TYPE POLYBENCH_1D(q_outputFromGpu,NX,nx))
|
||||
{
|
||||
int i,fail;
|
||||
fail = 0;
|
||||
|
||||
// Compare s with s_cuda
|
||||
for (i=0; i<nx; i++)
|
||||
{
|
||||
if (percentDiff(q[i], q_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i<ny; i++)
|
||||
{
|
||||
if (percentDiff(s[i], s_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
// print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("bicg.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init_array(int nx, int ny, DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny), DATA_TYPE POLYBENCH_1D(p,NY,ny), DATA_TYPE POLYBENCH_1D(r,NX,nx))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ny; i++)
|
||||
{
|
||||
p[i] = i * M_PI;
|
||||
}
|
||||
|
||||
for (i = 0; i < nx; i++)
|
||||
{
|
||||
r[i] = i * M_PI;
|
||||
|
||||
for (j = 0; j < ny; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / NX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny), DATA_TYPE POLYBENCH_1D(r,NX,nx), DATA_TYPE POLYBENCH_1D(s,NX,nx),
|
||||
DATA_TYPE POLYBENCH_1D(p,NX,nx), DATA_TYPE POLYBENCH_1D(q,NX,nx))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX * NY, NULL, &errcode);
|
||||
r_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX, NULL, &errcode);
|
||||
s_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX, NULL, &errcode);
|
||||
p_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX, NULL, &errcode);
|
||||
q_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NX, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX * NY, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, r_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX, r, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, s_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX, s, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, p_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX, p, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, q_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NX, q, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = bicg_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = bicg_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the 1st OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "bicgKernel1", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
|
||||
// Create the 2nd OpenCL kernel
|
||||
clKernel2 = clCreateKernel(clProgram, "bicgKernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
void cl_launch_kernel(int nx, int ny)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NX) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = 1;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&p_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&q_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(int), &nx);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(int), &ny);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the 1st OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NY) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = 1;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(cl_mem), (void *)&r_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(cl_mem), (void *)&s_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(int), &nx);
|
||||
errcode |= clSetKernelArg(clKernel2, 4, sizeof(int), &ny);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the 2nd OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseKernel(clKernel2);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(p_mem_obj);
|
||||
errcode = clReleaseMemObject(q_mem_obj);
|
||||
errcode = clReleaseMemObject(r_mem_obj);
|
||||
errcode = clReleaseMemObject(s_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void bicg_cpu(int nx, int ny, DATA_TYPE POLYBENCH_2D(A,NX,NY,nx,ny), DATA_TYPE POLYBENCH_1D(r,NX,nx), DATA_TYPE POLYBENCH_1D(s,NY,ny),
|
||||
DATA_TYPE POLYBENCH_1D(p,NY,ny), DATA_TYPE POLYBENCH_1D(q,NX,nx))
|
||||
{
|
||||
int i,j;
|
||||
|
||||
for (i = 0; i < _PB_NY; i++)
|
||||
{
|
||||
s[i] = 0.0;
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_NX; i++)
|
||||
{
|
||||
q[i] = 0.0;
|
||||
for (j = 0; j < _PB_NY; j++)
|
||||
{
|
||||
s[j] = s[j] + r[i] * A[i][j];
|
||||
q[i] = q[i] + A[i][j] * p[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int nx, int ny,
|
||||
DATA_TYPE POLYBENCH_1D(s,NY,ny),
|
||||
DATA_TYPE POLYBENCH_1D(q,NX,nx))
|
||||
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ny; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, s[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
for (i = 0; i < nx; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, q[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int nx = NX;
|
||||
int ny = NY;
|
||||
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,NX,NY,nx,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(s,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(q,DATA_TYPE,NX,nx);
|
||||
POLYBENCH_1D_ARRAY_DECL(p,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(r,DATA_TYPE,NX,nx);
|
||||
POLYBENCH_1D_ARRAY_DECL(s_outputFromGpu,DATA_TYPE,NY,ny);
|
||||
POLYBENCH_1D_ARRAY_DECL(q_outputFromGpu,DATA_TYPE,NX,nx);
|
||||
|
||||
init_array(nx, ny, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(p), POLYBENCH_ARRAY(r));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(r), POLYBENCH_ARRAY(s), POLYBENCH_ARRAY(p), POLYBENCH_ARRAY(q));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(nx, ny);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, s_mem_obj, CL_TRUE, 0, NY*sizeof(DATA_TYPE), POLYBENCH_ARRAY(s_outputFromGpu), 0, NULL, NULL);
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, q_mem_obj, CL_TRUE, 0, NX*sizeof(DATA_TYPE), POLYBENCH_ARRAY(q_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
bicg_cpu(nx, ny, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(r), POLYBENCH_ARRAY(s), POLYBENCH_ARRAY(p), POLYBENCH_ARRAY(q));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(nx, ny, POLYBENCH_ARRAY(s), POLYBENCH_ARRAY(s_outputFromGpu), POLYBENCH_ARRAY(q),
|
||||
POLYBENCH_ARRAY(q_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(nx, ny, POLYBENCH_ARRAY(s_outputFromGpu), POLYBENCH_ARRAY(q_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(r);
|
||||
POLYBENCH_FREE_ARRAY(s);
|
||||
POLYBENCH_FREE_ARRAY(p);
|
||||
POLYBENCH_FREE_ARRAY(q);
|
||||
POLYBENCH_FREE_ARRAY(s_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(q_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
54
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.cl
Normal file
54
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.cl
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* bicg.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
__kernel void bicgKernel1(__global DATA_TYPE *A, __global DATA_TYPE *p, __global DATA_TYPE *q, int nx, int ny)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < nx)
|
||||
{
|
||||
q[i] = 0.0;
|
||||
|
||||
int j;
|
||||
for(j=0; j < ny; j++)
|
||||
{
|
||||
q[i] += A[i * ny + j] * p[j];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
__kernel void bicgKernel2(__global DATA_TYPE *A, __global DATA_TYPE *r, __global DATA_TYPE *s, int nx, int ny)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
|
||||
if (j < ny)
|
||||
{
|
||||
s[j] = 0.0;
|
||||
|
||||
int i;
|
||||
for(i = 0; i < nx; i++)
|
||||
{
|
||||
s[j] += A[i * ny + j] * r[i];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.h
Normal file
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* bicg.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef BICG_H
|
||||
# define BICG_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NX) && !defined(NY)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define NX 1024
|
||||
#define NY 1024
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define NX 2048
|
||||
#define NY 2048
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define NX 4096
|
||||
#define NY 4096
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define NX 8192
|
||||
#define NY 8192
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define NX 16384
|
||||
#define NY 16384
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx)
|
||||
# define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 256
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 1
|
||||
|
||||
|
||||
#endif /* !BICG*/
|
||||
433
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg_kernel.h
Normal file
433
repos/hello_gpgpu/src/hello_gpgpu/benchmark/bicg/bicg_kernel.h
Normal file
@@ -0,0 +1,433 @@
|
||||
unsigned char bicg_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xab, 0xf4, 0x19, 0x80, 0xf5, 0x35, 0x8c, 0x1e,
|
||||
0x8e, 0x5a, 0x1c, 0xc9, 0x0c, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00,
|
||||
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x62, 0x69, 0x63, 0x67,
|
||||
0x4b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x28, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x20, 0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x40, 0x00, 0xb1, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x10, 0x16, 0x77, 0x25, 0x07, 0x00, 0x0a, 0x08,
|
||||
0x10, 0x20, 0x80, 0x05, 0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x00, 0x0e, 0x00, 0x20,
|
||||
0xf8, 0x01, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x21, 0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x21,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0xc0, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x0c, 0x0c, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2f, 0x00, 0x0f, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20, 0x1c, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20,
|
||||
0x1c, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0xe0, 0x00, 0x00, 0x82, 0x01, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x60, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x11, 0x00, 0x06, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x40, 0x01, 0x00, 0x00, 0x41, 0x96, 0x79, 0x20,
|
||||
0x07, 0x10, 0x0a, 0x08, 0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e,
|
||||
0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x40, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x20, 0x80, 0x00, 0xe8, 0x3e, 0x40, 0x2e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x70, 0x10, 0x06, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x22,
|
||||
0x80, 0x0e, 0x8d, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2e,
|
||||
0x00, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x22, 0x80, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0xc0, 0x22, 0x00, 0x01, 0x00, 0x06,
|
||||
0x01, 0x08, 0x11, 0x02, 0x10, 0x17, 0x7b, 0x25, 0x00, 0x00, 0x06, 0x08,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x70, 0x70, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x22, 0x80, 0x02, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2d,
|
||||
0x00, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x60, 0x2d, 0x80, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x5b, 0x22, 0x01, 0x20, 0x02, 0x90, 0xb4, 0x2d, 0x5b, 0x23, 0x07, 0x20,
|
||||
0x02, 0x90, 0xaf, 0x2d, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x20, 0x01, 0x00,
|
||||
0x82, 0x01, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x20, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0x08, 0xff, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x70, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x78, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x79, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0xf0, 0xf0, 0xfc, 0x47, 0xf5, 0x35, 0x8c, 0x1e, 0x8e, 0x5a, 0x1c, 0xc9,
|
||||
0x0c, 0x00, 0x00, 0x00, 0xa4, 0x05, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00,
|
||||
0x98, 0x02, 0x00, 0x00, 0x62, 0x69, 0x63, 0x67, 0x4b, 0x65, 0x72, 0x6e,
|
||||
0x65, 0x6c, 0x32, 0x00, 0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20,
|
||||
0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04,
|
||||
0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f, 0x28, 0x01, 0x00, 0x0a,
|
||||
0x64, 0x00, 0x00, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x10, 0x16, 0x7b, 0x25, 0x07, 0x00, 0x0a, 0x08, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x00, 0x0e, 0x00, 0x20, 0xf0, 0x01, 0x00, 0x00,
|
||||
0xf0, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x21,
|
||||
0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x21, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x2e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x0c, 0x0c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x00, 0x0f, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x03,
|
||||
0x26, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x00, 0x00,
|
||||
0x82, 0x01, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x60, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x06, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0x38, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0x00, 0x22,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x80, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x96, 0x15, 0x20, 0xe0, 0x12, 0x7e, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0x80, 0x22,
|
||||
0x00, 0x01, 0x00, 0x06, 0x01, 0x08, 0x11, 0x02, 0x10, 0x17, 0x77, 0x25,
|
||||
0x00, 0x00, 0x06, 0x08, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x12, 0x12, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2d,
|
||||
0x40, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xa0, 0x2d, 0x40, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x5b, 0x02, 0x01, 0x20, 0x02, 0x80, 0xbc, 0x29, 0x5b, 0x43, 0x07, 0x20,
|
||||
0x02, 0xa0, 0xb7, 0x29, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x00, 0x01, 0x00,
|
||||
0x82, 0x01, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x40, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xf8, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
|
||||
0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6e, 0x78, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6e, 0x79, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int bicg_Gen9core_gen_len = 5156;
|
||||
400
repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cc
Normal file
400
repos/hello_gpgpu/src/hello_gpgpu/benchmark/doitgen/doitgen.cc
Normal file
@@ -0,0 +1,400 @@
|
||||
/**
|
||||
* doitgen.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
#include "doitgen.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define GPU_DEVICE 0
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
|
||||
namespace ns_doitgen {
|
||||
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
#include "doitgen_kernel.h"
|
||||
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem b_mem_obj;
|
||||
cl_mem c_mem_obj;
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
|
||||
/* Main computational kernel. The whole function will be timed,
|
||||
including the call and return. */
|
||||
void kernel_doitgenCpu(int nr, int nq, int np,
|
||||
DATA_TYPE POLYBENCH_3D(A,NR,NQ,NP,nr,nq,np),
|
||||
DATA_TYPE POLYBENCH_2D(C4,NP,NP,np,np),
|
||||
DATA_TYPE POLYBENCH_3D(sum,NR,NQ,NP,nr,nq,np))
|
||||
{
|
||||
int r, q, p, s;
|
||||
|
||||
for (r = 0; r < _PB_NR; r++)
|
||||
{
|
||||
for (q = 0; q < _PB_NQ; q++)
|
||||
{
|
||||
for (p = 0; p < _PB_NP; p++)
|
||||
{
|
||||
sum[r][q][p] = 0;
|
||||
for (s = 0; s < _PB_NP; s++)
|
||||
sum[r][q][p] = sum[r][q][p] + A[r][q][s] * C4[s][p];
|
||||
}
|
||||
for (p = 0; p < _PB_NR; p++)
|
||||
A[r][q][p] = sum[r][q][p];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Array initialization. */
|
||||
void init_array(int nr, int nq, int np,
|
||||
DATA_TYPE POLYBENCH_3D(A,NR,NQ,NP,nr,nq,np),
|
||||
DATA_TYPE POLYBENCH_2D(C4,NP,NP,np,np))
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
for (i = 0; i < nr; i++)
|
||||
for (j = 0; j < nq; j++)
|
||||
for (k = 0; k < np; k++)
|
||||
A[i][j][k] = ((DATA_TYPE) i*j + k) / np;
|
||||
|
||||
for (i = 0; i < np; i++)
|
||||
for (j = 0; j < np; j++)
|
||||
C4[i][j] = ((DATA_TYPE) i*j) / np;
|
||||
}
|
||||
|
||||
|
||||
void compareResults(int nr, int nq, int np, DATA_TYPE POLYBENCH_3D(sum,NR,NQ,NP,nr,nq,np),
|
||||
DATA_TYPE POLYBENCH_3D(sum_outputFromGpu,NR,NQ,NP,nr,nq,np))
|
||||
{
|
||||
int fail = 0;
|
||||
|
||||
int r, q, p;
|
||||
for (r = 0; r < nr; r++)
|
||||
{
|
||||
for (q = 0; q < nq; q++)
|
||||
{
|
||||
for (p = 0; p < np; p++)
|
||||
{
|
||||
if (percentDiff(sum[r][q][p], sum_outputFromGpu[r][q][p]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Print results
|
||||
printf("Number of misses: %d\n", fail);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// Load the kernel source code into the array source_str
|
||||
// fp = fopen("doitgen.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, CL_DEVICE_TYPE_GPU, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("device id is %d\n",device_id);
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_3D(A,NR,NQ,NP,nr,nq,np),
|
||||
DATA_TYPE POLYBENCH_2D(C4,NP,NP,np,np),
|
||||
DATA_TYPE POLYBENCH_3D(sum,NR,NQ,NP,nr,nq,np))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NR * NQ * NP * sizeof(DATA_TYPE), NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
b_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NP * NP * sizeof(DATA_TYPE), NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
c_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NR * NQ * NP * sizeof(DATA_TYPE), NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, NR * NQ * NP * sizeof(DATA_TYPE), A, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, b_mem_obj, CL_TRUE, 0, NP * NP * sizeof(DATA_TYPE), C4, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NR * NQ * NP * sizeof(DATA_TYPE), sum, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = doitgen_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = doitgen_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "doitgen_kernel1", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel1\n");
|
||||
clKernel2 = clCreateKernel(clProgram, "doitgen_kernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel2\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
void cl_launch_kernel1(int nr, int nq, int np, int r)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NP) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NQ) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(int), (void *)&nr);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(int), (void *)&nq);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(int), (void *)&np);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 6, sizeof(int), (void *)&r);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
void cl_launch_kernel2(int nr, int nq, int np, int r)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NP) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NQ) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(int), (void *)&nr);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(int), (void *)&nq);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(int), (void *)&np);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 4, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 5, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 6, sizeof(int), (void *)&r);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseKernel(clKernel2);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(b_mem_obj);
|
||||
errcode = clReleaseMemObject(c_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int nr, int nq, int np,
|
||||
DATA_TYPE POLYBENCH_3D(A,NR,NQ,NP,nr,nq,np))
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
for (i = 0; i < nr; i++)
|
||||
{
|
||||
for (j = 0; j < nq; j++)
|
||||
{
|
||||
for (k = 0; k < np; k++)
|
||||
{
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, A[i][j][k]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int nr = NR;
|
||||
int nq = NQ;
|
||||
int np = NP;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
POLYBENCH_3D_ARRAY_DECL(A,DATA_TYPE,NR,NQ,NP,nr,nq,np);
|
||||
POLYBENCH_3D_ARRAY_DECL(sum,DATA_TYPE,NR,NQ,NP,nr,nq,np);
|
||||
POLYBENCH_3D_ARRAY_DECL(sum_outputFromGpu,DATA_TYPE,NR,NQ,NP,nr,nq,np);
|
||||
POLYBENCH_2D_ARRAY_DECL(C4,DATA_TYPE,NP,NP,np,np);
|
||||
|
||||
/* Initialize array(s). */
|
||||
init_array (nr, nq, np,
|
||||
POLYBENCH_ARRAY(A),
|
||||
POLYBENCH_ARRAY(C4));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(C4), POLYBENCH_ARRAY(sum));
|
||||
cl_load_prog();
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
|
||||
int r;
|
||||
for (r = 0; r < NR; r++)
|
||||
{
|
||||
cl_launch_kernel1(nr, nq, np, r);
|
||||
cl_launch_kernel2(nr, nq, np, r);
|
||||
}
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NR * NQ * NP * sizeof(DATA_TYPE), sum_outputFromGpu, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
/* Run kernel on CPU */
|
||||
kernel_doitgenCpu(nr, nq, np,
|
||||
POLYBENCH_ARRAY(A),
|
||||
POLYBENCH_ARRAY(C4),
|
||||
POLYBENCH_ARRAY(sum));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(nr, nq, np, POLYBENCH_ARRAY(sum), POLYBENCH_ARRAY(sum_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(nr, nq, np, POLYBENCH_ARRAY(sum_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
/* Garbage collection */
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(sum);
|
||||
POLYBENCH_FREE_ARRAY(sum_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(C4);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* doitgen.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
/* Can switch DATA_TYPE between float and double */
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
__kernel void doitgen_kernel1(int nr, int nq, int np, __global DATA_TYPE *A, __global DATA_TYPE *C4, __global DATA_TYPE *sum, int r)
|
||||
{
|
||||
int p = get_global_id(0);
|
||||
int q = get_global_id(1);
|
||||
|
||||
if ((p < np) && (q < nq))
|
||||
{
|
||||
sum[r * (nq * np) + q * np + p] = (DATA_TYPE)0.0;
|
||||
|
||||
for (int s = 0; s < np; s++)
|
||||
{
|
||||
sum[r * (nq * np) + q * np + p] = sum[r * (nq * np) + q * np + p] + A[r * (nq * np) + q * np + s] * C4[s * np + p];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__kernel void doitgen_kernel2(int nr, int nq, int np, __global DATA_TYPE *A, __global DATA_TYPE *C4, __global DATA_TYPE *sum, int r)
|
||||
{
|
||||
int p = get_global_id(0);
|
||||
int q = get_global_id(1);
|
||||
|
||||
if ((p < np) && (q < nq))
|
||||
{
|
||||
A[r * (nq * np) + q * np + p] = sum[r * (nq * np) + q * np + p];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* doitgen.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef DOITGEN_H
|
||||
# define DOITGEN_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NQ) && !defined(NR) && !defined(NP)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
# define NQ 32
|
||||
# define NR 32
|
||||
# define NP 32
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
# define NQ 64
|
||||
# define NR 64
|
||||
# define NP 64
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
# define NQ 128
|
||||
# define NR 128
|
||||
# define NP 128
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
# define NQ 256
|
||||
# define NR 256
|
||||
# define NP 256
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
# define NQ 512
|
||||
# define NR 512
|
||||
# define NP 512
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NQ POLYBENCH_LOOP_BOUND(NQ,nq)
|
||||
# define _PB_NR POLYBENCH_LOOP_BOUND(NR,nr)
|
||||
# define _PB_NP POLYBENCH_LOOP_BOUND(NP,np)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Workgroud dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
#endif /* !DOITGEN */
|
||||
@@ -0,0 +1,496 @@
|
||||
unsigned char doitgen_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x57, 0x3b, 0xf1, 0x5a, 0xd9, 0x95, 0x5f, 0x0b,
|
||||
0xa2, 0x29, 0x76, 0xff, 0x10, 0x00, 0x00, 0x00, 0xac, 0x06, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x64, 0x6f, 0x69, 0x74,
|
||||
0x67, 0x65, 0x6e, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x34, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00,
|
||||
0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0x38, 0x01, 0x00, 0x0a,
|
||||
0xb8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc8, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12,
|
||||
0x80, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x21, 0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22,
|
||||
0xc0, 0x01, 0x8d, 0x0a, 0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x76, 0x78, 0x07, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0c, 0x0a, 0x07,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05, 0x20, 0x0a, 0x00, 0x20,
|
||||
0x00, 0x02, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0xc0, 0x0e, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x80, 0x24, 0xc8, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0xe0, 0x2c,
|
||||
0xc8, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0x80, 0x01, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x05, 0x20, 0x80, 0x02, 0x42, 0x12, 0x00, 0x20, 0x80, 0x04, 0xb1, 0x12,
|
||||
0xe0, 0x0c, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20,
|
||||
0xa0, 0x02, 0x00, 0x00, 0xa0, 0x02, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x2f, 0x1c, 0x01, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x41, 0x96, 0x01, 0x20, 0x07, 0x74, 0x76, 0x09, 0x41, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x00, 0x02, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x80, 0x00, 0xe8, 0x3e, 0xc0, 0x2d, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x80, 0x41, 0x20, 0x00, 0x06, 0x7e, 0x09,
|
||||
0x01, 0x20, 0x80, 0x00, 0xe8, 0x3e, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x15, 0x20, 0xe0, 0x72, 0x06, 0x74, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x22, 0xc4, 0x00, 0x00, 0x0a, 0x40, 0x02, 0x8d, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x70, 0x72, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x22, 0x80, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2e, 0x00, 0x0e, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x22,
|
||||
0xc0, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x6d, 0x20,
|
||||
0x07, 0x70, 0x70, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x22,
|
||||
0xc0, 0x02, 0x8d, 0x0a, 0x30, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0xe0, 0x06, 0x00, 0x02, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x80, 0x01, 0x00, 0xc2, 0x02, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x88, 0x01, 0x00, 0x00, 0x01, 0x00, 0x80, 0x00,
|
||||
0xe8, 0x3e, 0x80, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x20, 0x80, 0x00, 0xe8, 0x3e, 0x40, 0x23, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc8, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xcc, 0x2f, 0xc8, 0x0f, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x5d, 0x20, 0x07, 0x1c, 0x72, 0x7e, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0x80, 0x02, 0x8d, 0x0a, 0xc8, 0x0f, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc8, 0x2f, 0xc8, 0x0f, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x96, 0x1d, 0x20, 0xe0, 0x22, 0x7e, 0x0c,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d, 0xcc, 0x0f, 0x00, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23,
|
||||
0x80, 0x03, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x24, 0x40, 0x04, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d,
|
||||
0x00, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x5d, 0x20,
|
||||
0x07, 0x1c, 0x1c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d,
|
||||
0x40, 0x0d, 0x8d, 0x0a, 0x28, 0x01, 0x00, 0x00, 0x40, 0x96, 0x65, 0x20,
|
||||
0x07, 0x22, 0x22, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d,
|
||||
0x00, 0x0d, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x23, 0x80, 0x03, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x10, 0x17, 0x1b, 0x25, 0x00, 0x00, 0x7e, 0x09, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xa0, 0x2c, 0x40, 0x04, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x00, 0x24, 0x40, 0x0d, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x60, 0x2c,
|
||||
0x00, 0x0d, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x10, 0x20, 0x80, 0x05,
|
||||
0x24, 0x0a, 0x00, 0x20, 0xc8, 0x0f, 0x00, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x5b, 0xc2, 0x06, 0x20, 0x00, 0x60, 0x7b, 0xca, 0x5b, 0xa3, 0x01, 0x20,
|
||||
0x00, 0xd0, 0x80, 0xc6, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xc0, 0x06, 0x00,
|
||||
0x02, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0xa0, 0x01, 0x00, 0xc2, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xa8, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x05, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x72, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x71, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x70, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x43, 0x34, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x73, 0x75, 0x6d, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0xee, 0x2f, 0x66, 0x67, 0xd9, 0x95, 0x5f, 0x0b, 0xa2, 0x29, 0x76, 0xff,
|
||||
0x10, 0x00, 0x00, 0x00, 0x84, 0x06, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00,
|
||||
0x50, 0x02, 0x00, 0x00, 0x64, 0x6f, 0x69, 0x74, 0x67, 0x65, 0x6e, 0x5f,
|
||||
0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x32, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20,
|
||||
0x30, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x20, 0x34, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xd0, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x21,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x22, 0xc4, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0xc4, 0x00, 0x00, 0x12,
|
||||
0x60, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x22, 0x80, 0x01, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x23, 0x80, 0x02, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x16, 0x12, 0x07,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0e, 0x0a, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x00, 0x02, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x00, 0x03, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x10, 0x16, 0x7b, 0x25, 0x07, 0x00, 0x16, 0x08,
|
||||
0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0xc0, 0x24, 0xd0, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0xe0, 0x24,
|
||||
0xd0, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x10, 0x19, 0x03, 0x25,
|
||||
0x07, 0x00, 0x0e, 0x09, 0x05, 0x20, 0x80, 0x02, 0x40, 0x12, 0x00, 0x20,
|
||||
0xc0, 0x04, 0xb1, 0x12, 0xe0, 0x04, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x20, 0x08, 0x01, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00,
|
||||
0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc8, 0x20, 0x1c, 0x01, 0x00, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20, 0x07, 0x1a, 0x16, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23, 0x00, 0x03, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xcc, 0x20,
|
||||
0xc8, 0x00, 0x00, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x40, 0x96, 0x1d, 0x20,
|
||||
0xe0, 0x1a, 0x06, 0x1a, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23,
|
||||
0xcc, 0x00, 0x00, 0x0a, 0x80, 0x03, 0x8d, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0xe7, 0x1a, 0x1a, 0x0e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23,
|
||||
0x80, 0x03, 0x8d, 0x0a, 0x00, 0x02, 0x8d, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x23, 0x40, 0x03, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23, 0x80, 0x03, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x1e, 0x1a, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x24, 0x80, 0x03, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x1a, 0x1a, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x23, 0x80, 0x03, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x24,
|
||||
0xc0, 0x03, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x80, 0x24, 0x00, 0x04, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0x20, 0x02, 0x00, 0x42, 0x03, 0x00, 0x00,
|
||||
0x00, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0x40, 0x02, 0x00,
|
||||
0x82, 0x03, 0x00, 0x00, 0x00, 0x5e, 0x02, 0x04, 0x25, 0x00, 0xa0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00,
|
||||
0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00, 0x31, 0x00, 0x60, 0x07,
|
||||
0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x72, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x71, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x70, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x43, 0x34, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x73, 0x75, 0x6d, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int doitgen_Gen9core_gen_len = 5908;
|
||||
356
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.cc
Normal file
356
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.cc
Normal file
@@ -0,0 +1,356 @@
|
||||
/**
|
||||
* gemm.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "gemm.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_gemm
|
||||
{
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
|
||||
#include "gemm_kernel.h"
|
||||
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem b_mem_obj;
|
||||
cl_mem c_mem_obj;
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int ni, int nj, DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj), DATA_TYPE POLYBENCH_2D(C_outputFromGpu,NI,NJ,ni,nj))
|
||||
{
|
||||
int i, j, fail;
|
||||
fail = 0;
|
||||
|
||||
// Compare CPU and GPU outputs
|
||||
for (i=0; i < ni; i++)
|
||||
{
|
||||
for (j=0; j < nj; j++)
|
||||
{
|
||||
if (percentDiff(C[i][j], C_outputFromGpu[i][j]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// Load the kernel source code into the array source_str
|
||||
// fp = fopen("gemm.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init(int ni, int nj, int nk, DATA_TYPE* alpha, DATA_TYPE* beta, DATA_TYPE POLYBENCH_2D(A,NI,NK,ni,nk),
|
||||
DATA_TYPE POLYBENCH_2D(B,NK,NJ,nk,nj), DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
*alpha = 32412;
|
||||
*beta = 2123;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < nk; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / NI;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < nk; i++)
|
||||
{
|
||||
for (j = 0; j < nj; j++)
|
||||
{
|
||||
B[i][j] = ((DATA_TYPE) i*j) / NI;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < nj; j++)
|
||||
{
|
||||
C[i][j] = ((DATA_TYPE) i*j) / NI;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,NI,NK,ni,nk), DATA_TYPE POLYBENCH_2D(B,NK,NJ,nk,nj), DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NK, NULL, &errcode);
|
||||
b_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NK * NJ, NULL, &errcode);
|
||||
c_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NJ, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NK, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, b_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NK * NJ, B, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NJ, C, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = gemm_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = gemm_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel = clCreateKernel(clProgram, "gemm", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int ni, int nj, int nk, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NJ) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NI) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel, 1, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel, 2, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel, 3, sizeof(DATA_TYPE), (void *)&alpha);
|
||||
errcode |= clSetKernelArg(clKernel, 4, sizeof(DATA_TYPE), (void *)&beta);
|
||||
errcode |= clSetKernelArg(clKernel, 5, sizeof(int), (void *)&ni);
|
||||
errcode |= clSetKernelArg(clKernel, 6, sizeof(int), (void *)&nj);
|
||||
errcode |= clSetKernelArg(clKernel, 7, sizeof(int), (void *)&nk);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(b_mem_obj);
|
||||
errcode = clReleaseMemObject(c_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void gemm(int ni, int nj, int nk, DATA_TYPE alpha, DATA_TYPE beta, DATA_TYPE POLYBENCH_2D(A,NI,NK,ni,nk),
|
||||
DATA_TYPE POLYBENCH_2D(B,NK,NJ,nk,nj), DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj))
|
||||
{
|
||||
int i,j,k;
|
||||
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NJ; j++)
|
||||
{
|
||||
C[i][j] *= beta;
|
||||
|
||||
for (k = 0; k < _PB_NK; ++k)
|
||||
{
|
||||
C[i][j] += alpha * A[i][k] * B[k][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int ni, int nj,
|
||||
DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
for (j = 0; j < nj; j++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, C[i][j]);
|
||||
if ((i * ni + j) % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int ni = NI;
|
||||
int nj = NJ;
|
||||
int nk = NK;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
DATA_TYPE alpha;
|
||||
DATA_TYPE beta;
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,NI,NK,ni,nk);
|
||||
POLYBENCH_2D_ARRAY_DECL(B,DATA_TYPE,NK,NJ,nk,nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(C,DATA_TYPE,NI,NJ,ni,nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(C_outputFromGpu,DATA_TYPE,NI,NJ,ni,nj);
|
||||
|
||||
init(ni, nj, nk, &alpha, &beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(ni, nj, nk, alpha, beta);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NI*NJ*sizeof(DATA_TYPE), POLYBENCH_ARRAY(C_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
gemm(ni, nj, nk, alpha, beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(ni, nj, POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(C_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(ni, nj, POLYBENCH_ARRAY(C_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(B);
|
||||
POLYBENCH_FREE_ARRAY(C);
|
||||
POLYBENCH_FREE_ARRAY(C_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
36
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.cl
Normal file
36
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.cl
Normal file
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* gemm.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
|
||||
__kernel void gemm(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj, int nk)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < ni) && (j < nj))
|
||||
{
|
||||
c[i * nj + j] *= beta;
|
||||
int k;
|
||||
for(k=0; k < nk; k++)
|
||||
{
|
||||
c[i * nj + j] += alpha * a[i * nk + k] * b[k * nj +j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
67
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.h
Normal file
67
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/**
|
||||
* gemm.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef GEMM_H
|
||||
# define GEMM_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NI) && !defined(NJ) && !defined(NK)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define NI 128
|
||||
#define NJ 128
|
||||
#define NK 128
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define NI 256
|
||||
#define NJ 256
|
||||
#define NK 256
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define NI 512
|
||||
#define NJ 512
|
||||
#define NK 512
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define NI 1024
|
||||
#define NJ 1024
|
||||
#define NK 1024
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define NI 2048
|
||||
#define NJ 2048
|
||||
#define NK 2048
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni)
|
||||
# define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj)
|
||||
# define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !GEMM*/
|
||||
278
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm_kernel.h
Normal file
278
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemm/gemm_kernel.h
Normal file
@@ -0,0 +1,278 @@
|
||||
unsigned char gemm_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x7f, 0x39, 0xd9, 0x45, 0x3f, 0xbe, 0x1a, 0x4f,
|
||||
0xf8, 0x2b, 0xe5, 0x01, 0x08, 0x00, 0x00, 0x00, 0x2c, 0x07, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x67, 0x65, 0x6d, 0x6d,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0xa0, 0x20,
|
||||
0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04,
|
||||
0x41, 0x80, 0x2d, 0x20, 0x00, 0x7e, 0x0a, 0x05, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0x44, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xe0, 0x21, 0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x21, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x20, 0x22, 0xe0, 0x01, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0d, 0x0b, 0x07,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x20, 0x02, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xa0, 0x01, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0xe0, 0x2c, 0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0xe0, 0x23, 0xc4, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x0e, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0xe0, 0x03, 0xb1, 0x12, 0xe0, 0x0c, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0x98, 0x02, 0x00, 0x00,
|
||||
0x98, 0x02, 0x00, 0x00, 0x41, 0x96, 0x2d, 0x20, 0x07, 0x74, 0x76, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x22, 0x20, 0x02, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x28, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x28, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0d, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x60, 0x22, 0x60, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x22,
|
||||
0x60, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x71, 0x20,
|
||||
0x07, 0x74, 0x74, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x22,
|
||||
0x60, 0x02, 0x8d, 0x0a, 0x34, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x40, 0x2e, 0x80, 0x0e, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x22, 0x60, 0x02, 0x00, 0x06,
|
||||
0x02, 0x5e, 0x20, 0x04, 0x41, 0x56, 0x7a, 0x20, 0x07, 0x70, 0x72, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0xe0, 0x22, 0xa0, 0x02, 0x8d, 0x3a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x00, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x70, 0x01, 0x00, 0x62, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0x98, 0x01, 0x00, 0x00, 0x41, 0x96, 0x5d, 0x20, 0x07, 0x6e, 0x76, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x20, 0x23, 0x20, 0x02, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc4, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x1b, 0x6e, 0x7e, 0x41, 0x80, 0x49, 0x20, 0x00, 0x7e, 0x7e, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d, 0x20, 0x03, 0x8d, 0x0a,
|
||||
0xc4, 0x0f, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x60, 0x23, 0x60, 0x03, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x96, 0x19, 0x20, 0xe0, 0x24, 0x7e, 0x0d, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2d, 0xc8, 0x0f, 0x00, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d, 0x80, 0x0d, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x1b, 0x1b, 0x09,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x24, 0x80, 0x04, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d,
|
||||
0x00, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2d, 0x80, 0x0d, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x23, 0x60, 0x03, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x6d, 0x20, 0x07, 0x24, 0x24, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d, 0x00, 0x0d, 0x8d, 0x0a,
|
||||
0x30, 0x01, 0x00, 0x00, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x2d,
|
||||
0x80, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x10, 0x00, 0x80, 0x05,
|
||||
0x24, 0x0a, 0x00, 0x20, 0xc4, 0x0f, 0x00, 0x0a, 0x28, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0x80, 0x04, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x60, 0x2c,
|
||||
0x00, 0x0d, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x10, 0x20, 0x80, 0x05,
|
||||
0x24, 0x0a, 0x00, 0x20, 0xc4, 0x0f, 0x00, 0x0a, 0x28, 0x01, 0x00, 0x00,
|
||||
0x41, 0x56, 0x76, 0x20, 0x07, 0x20, 0x1d, 0x08, 0x41, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3a, 0x40, 0x24, 0x40, 0x0d, 0x8d, 0x3a, 0x18, 0x01, 0x00, 0x00,
|
||||
0x5b, 0x02, 0x07, 0x20, 0x00, 0x80, 0x83, 0xca, 0x5b, 0x73, 0x01, 0x20,
|
||||
0x00, 0xb8, 0x88, 0xc6, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x00, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x70, 0x01, 0x00, 0x62, 0x02, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0x90, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x05, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
|
||||
0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x62, 0x65, 0x74, 0x61,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x69, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x6b, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int gemm_Gen9core_gen_len = 3300;
|
||||
464
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.cc
Normal file
464
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.cc
Normal file
@@ -0,0 +1,464 @@
|
||||
/**
|
||||
* gemver.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "gemver.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
|
||||
namespace ns_gemver {
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
#include "gemver_kernel.h"
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_kernel clKernel3;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem u1_mem_obj;
|
||||
cl_mem v1_mem_obj;
|
||||
cl_mem u2_mem_obj;
|
||||
cl_mem v2_mem_obj;
|
||||
cl_mem w_mem_obj;
|
||||
cl_mem x_mem_obj;
|
||||
cl_mem y_mem_obj;
|
||||
cl_mem z_mem_obj;
|
||||
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int n, DATA_TYPE POLYBENCH_1D(w1, N, n), DATA_TYPE POLYBENCH_1D(w2, N, n))
|
||||
{
|
||||
int i, fail;
|
||||
fail = 0;
|
||||
|
||||
for (i=0; i < N; i++)
|
||||
{
|
||||
if (percentDiff(w1[i], w2[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
// Print results
|
||||
printf("Number of misses: %d\n", fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("gemver.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init(int n, DATA_TYPE *alpha,
|
||||
DATA_TYPE *beta,
|
||||
DATA_TYPE POLYBENCH_2D(A,N,N,n,n),
|
||||
DATA_TYPE POLYBENCH_1D(u1,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(v1,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(u2,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(v2,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(w,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(x,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(y,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(z,N,n))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
*alpha = 43532;
|
||||
*beta = 12313;
|
||||
|
||||
for (i = 0; i < N; i++)
|
||||
{
|
||||
u1[i] = i;
|
||||
u2[i] = (i+1)/N/2.0;
|
||||
v1[i] = (i+1)/N/4.0;
|
||||
v2[i] = (i+1)/N/6.0;
|
||||
y[i] = (i+1)/N/8.0;
|
||||
z[i] = (i+1)/N/9.0;
|
||||
x[i] = 0.0;
|
||||
w[i] = 0.0;
|
||||
|
||||
for (j = 0; j < N; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / N;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("device id is %d\n",device_id);
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,N,N,n,n), DATA_TYPE POLYBENCH_1D(u1,N,n), DATA_TYPE POLYBENCH_1D(v1,N,n), DATA_TYPE POLYBENCH_1D(u2,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(v2,N,n), DATA_TYPE POLYBENCH_1D(w,N,n), DATA_TYPE POLYBENCH_1D(x,N,n), DATA_TYPE POLYBENCH_1D(y,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(z,N,n))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N * N, NULL, &errcode);
|
||||
u1_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
v1_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
u2_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
v2_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
w_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
x_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
y_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
z_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N * N, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, u1_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, u1, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, v1_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, v1, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, u2_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, u2, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, v2_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, v2, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, w_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, w, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, x_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, x, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, y_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, y, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, z_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, z, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = gemver_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = gemver_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
|
||||
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "gemver_kernel1", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel1\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel2 = clCreateKernel(clProgram, "gemver_kernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel2\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel3 = clCreateKernel(clProgram, "gemver_kernel3", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel3\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int n, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_KERNEL_1_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_KERNEL_1_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_1_X)) * DIM_LOCAL_WORK_GROUP_KERNEL_1_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_1_Y)) * DIM_LOCAL_WORK_GROUP_KERNEL_1_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&v1_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&v2_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(cl_mem), (void *)&u1_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(cl_mem), (void *)&u2_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(int), (void *)&n);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments1\n");
|
||||
size_t global_item_size = sizeof(DATA_TYPE) * N;
|
||||
size_t local_item_size = 64;
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel1\n");
|
||||
clEnqueueBarrier(clCommandQue);
|
||||
|
||||
int dim = N;
|
||||
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_KERNEL_2_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_KERNEL_2_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_2_X)) * DIM_LOCAL_WORK_GROUP_KERNEL_2_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_2_Y)) * DIM_LOCAL_WORK_GROUP_KERNEL_2_Y;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(cl_mem), (void *)&x_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(cl_mem), (void *)&y_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(cl_mem), (void *)&z_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 4, sizeof(DATA_TYPE), (void *)&beta);
|
||||
errcode |= clSetKernelArg(clKernel2, 5, sizeof(int), (void *)&n);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments2\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel2\n");
|
||||
clEnqueueBarrier(clCommandQue);
|
||||
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_KERNEL_3_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_KERNEL_3_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_3_X)) * DIM_LOCAL_WORK_GROUP_KERNEL_3_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_KERNEL_3_Y)) * DIM_LOCAL_WORK_GROUP_KERNEL_3_Y;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel3, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 1, sizeof(cl_mem), (void *)&x_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 2, sizeof(cl_mem), (void *)&w_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel3, 3, sizeof(DATA_TYPE), (void *)&alpha);
|
||||
errcode |= clSetKernelArg(clKernel3, 4, sizeof(int), (void *)&n);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments3\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel3, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel3\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(u1_mem_obj);
|
||||
errcode = clReleaseMemObject(v1_mem_obj);
|
||||
errcode = clReleaseMemObject(u2_mem_obj);
|
||||
errcode = clReleaseMemObject(v2_mem_obj);
|
||||
errcode = clReleaseMemObject(w_mem_obj);
|
||||
errcode = clReleaseMemObject(x_mem_obj);
|
||||
errcode = clReleaseMemObject(y_mem_obj);
|
||||
errcode = clReleaseMemObject(z_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void gemver(int n, DATA_TYPE alpha, DATA_TYPE beta, DATA_TYPE POLYBENCH_2D(A, N, N, n, n), DATA_TYPE POLYBENCH_1D(u1, N, n), DATA_TYPE POLYBENCH_1D(v1, N, n),
|
||||
DATA_TYPE POLYBENCH_1D(u2, N, n), DATA_TYPE POLYBENCH_1D(v2, N, n), DATA_TYPE POLYBENCH_1D(w, N, n), DATA_TYPE POLYBENCH_1D(x, N, n), DATA_TYPE POLYBENCH_1D(y, N, n),
|
||||
DATA_TYPE POLYBENCH_1D(z, N, n))
|
||||
{
|
||||
int i,j;
|
||||
|
||||
for (i = 0; i < _PB_N; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_N; j++)
|
||||
{
|
||||
A[i][j] = A[i][j] + u1[i] * v1[j] + u2[i] * v2[j];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_N; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_N; j++)
|
||||
{
|
||||
x[i] = x[i] + beta * A[j][i] * y[j];
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_N; i++)
|
||||
{
|
||||
x[i] = x[i] + z[i];
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_N; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_N; j++)
|
||||
{
|
||||
w[i] = w[i] + alpha * A[i][j] * x[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int n,
|
||||
DATA_TYPE POLYBENCH_1D(w,N,n))
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, w[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int n = N;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
DATA_TYPE alpha;
|
||||
DATA_TYPE beta;
|
||||
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,N,N,n,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(u1,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(v1,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(u2,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(v2,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(w,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(w_outputFromGpu,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(y,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(z,DATA_TYPE,N,n);
|
||||
|
||||
init(n, &alpha, &beta,
|
||||
POLYBENCH_ARRAY(A),
|
||||
POLYBENCH_ARRAY(u1),
|
||||
POLYBENCH_ARRAY(v1),
|
||||
POLYBENCH_ARRAY(u2),
|
||||
POLYBENCH_ARRAY(v2),
|
||||
POLYBENCH_ARRAY(w),
|
||||
POLYBENCH_ARRAY(x),
|
||||
POLYBENCH_ARRAY(y),
|
||||
POLYBENCH_ARRAY(z));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(u1), POLYBENCH_ARRAY(v1), POLYBENCH_ARRAY(u2), POLYBENCH_ARRAY(v2),
|
||||
POLYBENCH_ARRAY(w), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(z));
|
||||
|
||||
cl_load_prog();
|
||||
cl_launch_kernel(n, alpha, beta);
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, w_mem_obj, CL_TRUE, 0, N*sizeof(DATA_TYPE), POLYBENCH_ARRAY(w_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
gemver(n, alpha, beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(u1), POLYBENCH_ARRAY(v1), POLYBENCH_ARRAY(u2), POLYBENCH_ARRAY(v2),
|
||||
POLYBENCH_ARRAY(w), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(z));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(n, POLYBENCH_ARRAY(w), POLYBENCH_ARRAY(w_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(n, POLYBENCH_ARRAY(w_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(u1);
|
||||
POLYBENCH_FREE_ARRAY(v1);
|
||||
POLYBENCH_FREE_ARRAY(u2);
|
||||
POLYBENCH_FREE_ARRAY(v2);
|
||||
POLYBENCH_FREE_ARRAY(w);
|
||||
POLYBENCH_FREE_ARRAY(w_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(x);
|
||||
POLYBENCH_FREE_ARRAY(y);
|
||||
POLYBENCH_FREE_ARRAY(z);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.cl
Normal file
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.cl
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* gemver.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
|
||||
__kernel void gemver_kernel1(__global DATA_TYPE *A, __global DATA_TYPE *V1, __global DATA_TYPE *V2, __global DATA_TYPE *U1, __global DATA_TYPE *U2, int n)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < n) && (j < n))
|
||||
{
|
||||
A[i*n + j] += U1[i] * V1[j] + U2[i] * V2[j];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__kernel void gemver_kernel2(__global DATA_TYPE *A, __global DATA_TYPE *X, __global DATA_TYPE *Y, __global DATA_TYPE *Z, DATA_TYPE beta, int n)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < n)
|
||||
{
|
||||
int j;
|
||||
for(j = 0; j < n; j++)
|
||||
{
|
||||
X[i] += beta * A[j * n + i] * Y[j];
|
||||
}
|
||||
X[i] += Z[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
__kernel void gemver_kernel3(__global DATA_TYPE *A, __global DATA_TYPE *X, __global DATA_TYPE *w, DATA_TYPE alpha, int n)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < n)
|
||||
{
|
||||
int j;
|
||||
for(j = 0; j < n; j++)
|
||||
{
|
||||
w[i] += alpha * A[i*n + j] * X[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
63
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.h
Normal file
63
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gemver/gemver.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* gemver.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef GEMVER_H
|
||||
# define GEMVER_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(N)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define N 1024
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define N 2048
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define N 4096
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define N 8192
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define N 16384
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_N POLYBENCH_LOOP_BOUND(N,n)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions for kernel 1*/
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_1_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_1_Y 8
|
||||
|
||||
/* Thread block dimensions for kernel 2*/
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_2_X 256
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_2_Y 1
|
||||
|
||||
/* Thread block dimensions for kernel 3*/
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_3_X 256
|
||||
#define DIM_LOCAL_WORK_GROUP_KERNEL_3_Y 1
|
||||
|
||||
|
||||
#endif /* !TWODCONV*/
|
||||
@@ -0,0 +1,741 @@
|
||||
unsigned char gemver_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0xae, 0xc0, 0x6a, 0x9e, 0x7d, 0x0c, 0x33,
|
||||
0x6a, 0x02, 0xd3, 0x21, 0x10, 0x00, 0x00, 0x00, 0xe4, 0x06, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x54, 0x01, 0x00, 0x00, 0x58, 0x03, 0x00, 0x00, 0x67, 0x65, 0x6d, 0x76,
|
||||
0x65, 0x72, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x80, 0x2d, 0x20,
|
||||
0x00, 0x7e, 0x0a, 0x05, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20,
|
||||
0x44, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x16, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xe0, 0x21,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x60, 0x21, 0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0x12,
|
||||
0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f,
|
||||
0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x20, 0x22, 0xe0, 0x01, 0x8d, 0x0a, 0xe4, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0d, 0x0b, 0x07, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x0f, 0x8d, 0x0a, 0x28, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x20, 0x02, 0x8d, 0x0a, 0x28, 0x01, 0x00, 0x00,
|
||||
0x10, 0x16, 0x5f, 0x25, 0x07, 0x00, 0x0d, 0x09, 0x02, 0x20, 0x81, 0x00,
|
||||
0x4a, 0x12, 0x00, 0x21, 0xc4, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0x20, 0x2e, 0xc4, 0x0f, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x19, 0x5f, 0x25, 0x07, 0x00, 0x76, 0x09,
|
||||
0x05, 0x20, 0x80, 0x02, 0x40, 0x12, 0x00, 0x20, 0x20, 0x0e, 0xb1, 0x12,
|
||||
0x00, 0x01, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x00, 0x0e, 0x00, 0x20,
|
||||
0x18, 0x02, 0x00, 0x00, 0x18, 0x02, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0xc0, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xe0, 0x22, 0xa0, 0x01, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x41, 0x96, 0x5d, 0x20, 0x07, 0x5d, 0x76, 0x09,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x22, 0x20, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x2d,
|
||||
0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x41, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x25, 0x20, 0x02, 0x8d, 0x0a, 0x28, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x79, 0x20, 0x07, 0x67, 0x74, 0x09, 0x40, 0x96, 0x71, 0x20,
|
||||
0x07, 0x63, 0x17, 0x09, 0x40, 0x96, 0x01, 0x20, 0xe7, 0x5d, 0x5d, 0x0d,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x24, 0x60, 0x02, 0x8d, 0x0a,
|
||||
0x3c, 0x01, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x24,
|
||||
0x60, 0x0d, 0x8d, 0x0a, 0x34, 0x01, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x25, 0x40, 0x05, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0xe0, 0x0c, 0x00, 0x06,
|
||||
0x04, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x75, 0x20, 0x07, 0x72, 0x74, 0x09,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2c, 0x60, 0x0c, 0x00, 0x06,
|
||||
0x02, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x6d, 0x20, 0x07, 0x19, 0x17, 0x09,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xa0, 0x2b, 0xa0, 0x0b, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x24,
|
||||
0x00, 0x04, 0x00, 0x06, 0x04, 0x5e, 0x20, 0x04, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xa0, 0x22, 0x60, 0x02, 0x8d, 0x0a, 0x38, 0x01, 0x00, 0x00,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x24, 0x80, 0x04, 0x00, 0x06,
|
||||
0x02, 0x5e, 0x20, 0x04, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x20, 0x2d,
|
||||
0x60, 0x0d, 0x8d, 0x0a, 0x30, 0x01, 0x00, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x25, 0x40, 0x05, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x2d, 0x40, 0x0e, 0x00, 0x06,
|
||||
0x03, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x65, 0x20, 0x07, 0x5d, 0x5d, 0x09,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x23, 0x20, 0x03, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2d,
|
||||
0xa0, 0x02, 0x00, 0x06, 0x03, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x23, 0x20, 0x0d, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x25, 0x40, 0x05, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x60, 0x2b,
|
||||
0xa0, 0x0b, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x80, 0x25, 0x40, 0x05, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x41, 0x56, 0x02, 0x20, 0xe7, 0x65, 0x65, 0x61, 0x41, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3a, 0x40, 0x24, 0x40, 0x04, 0x8d, 0x3a, 0xc0, 0x04, 0x8d, 0x00,
|
||||
0x5b, 0xf2, 0x05, 0x20, 0x00, 0x28, 0x73, 0xde, 0x5b, 0x83, 0x02, 0x20,
|
||||
0x00, 0x10, 0x79, 0xda, 0x40, 0x56, 0x02, 0x20, 0xe7, 0x5b, 0x5b, 0x5f,
|
||||
0x40, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x80, 0x25, 0x80, 0x05, 0x8d, 0x3a,
|
||||
0x00, 0x05, 0x8d, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xb0, 0x05, 0x00,
|
||||
0xa2, 0x0b, 0x00, 0x00, 0x00, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0xc0, 0x02, 0x00, 0x42, 0x05, 0x00, 0x00, 0x00, 0x5e, 0x02, 0x04,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x40, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x56, 0x31, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x56, 0x32, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x55, 0x31, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x55, 0x32, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0xfb, 0xa9, 0x4e, 0x17, 0x9e, 0x7d, 0x0c, 0x33,
|
||||
0x6a, 0x02, 0xd3, 0x21, 0x10, 0x00, 0x00, 0x00, 0x70, 0x06, 0x00, 0x00,
|
||||
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x10, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x67, 0x65, 0x6d, 0x76,
|
||||
0x65, 0x72, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x32, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x34, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x0a, 0x04, 0x07, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f,
|
||||
0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00, 0x10, 0x16, 0x2f, 0x25,
|
||||
0x07, 0x00, 0x0a, 0x09, 0x10, 0x20, 0x80, 0x05, 0x20, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x0f, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x22, 0x00, 0xa1, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x20, 0xd8, 0x02, 0x00, 0x00, 0xd8, 0x02, 0x00, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20, 0x24, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20,
|
||||
0x24, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
|
||||
0x06, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0x68, 0x00, 0x00, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x21, 0x40, 0x01, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20,
|
||||
0x07, 0x0c, 0x0c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x00, 0x0f, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x21, 0x80, 0x01, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x2e, 0x00, 0x0f, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x88, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x22, 0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x65, 0x20,
|
||||
0x07, 0x10, 0x10, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e,
|
||||
0x80, 0x0e, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x21, 0x00, 0x02, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x2e, 0x80, 0x0e, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x20, 0x2e, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x96, 0x15, 0x20, 0xe0, 0x12, 0x7e, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0xe0, 0x2d,
|
||||
0x20, 0x0e, 0x00, 0x06, 0x02, 0x08, 0x11, 0x02, 0x10, 0x17, 0x2f, 0x25,
|
||||
0x00, 0x00, 0x06, 0x09, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x12, 0x12, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x22,
|
||||
0x40, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x22, 0x40, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x41, 0x56, 0x02, 0x20, 0x07, 0x14, 0x14, 0x09, 0x41, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3a, 0xc0, 0x22, 0xc0, 0x02, 0x8d, 0x3a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x5b, 0xe2, 0x00, 0x20, 0x01, 0x70, 0xbc, 0x29, 0x5b, 0x63, 0x07, 0x20,
|
||||
0x01, 0xb0, 0xbf, 0x2d, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x00, 0x00,
|
||||
0x02, 0x02, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x60, 0x07, 0x00, 0x82, 0x0e, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xe0, 0xfe, 0xff, 0xff, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x23,
|
||||
0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xa0, 0x2d, 0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x96, 0x6d, 0x20, 0x07, 0x1a, 0x18, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x60, 0x2d, 0xa0, 0x0d, 0x8d, 0x0a, 0x30, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x65, 0x20, 0x07, 0x18, 0x18, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xa0, 0x2d, 0xa0, 0x0d, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x23, 0x40, 0x03, 0x00, 0x06,
|
||||
0x03, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2d,
|
||||
0x60, 0x0d, 0x00, 0x06, 0x03, 0x5e, 0x20, 0x04, 0x40, 0x56, 0x02, 0x20,
|
||||
0xe7, 0x1c, 0x0e, 0x1c, 0x40, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x20, 0x2d,
|
||||
0xc0, 0x0e, 0x8d, 0x3a, 0x20, 0x0d, 0x8d, 0x00, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0xc0, 0x01, 0x00, 0x02, 0x03, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x90, 0x06, 0x00, 0xa2, 0x0d, 0x00, 0x00,
|
||||
0x01, 0x5e, 0x02, 0x04, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x54, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x38, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
|
||||
0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x5a, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x62, 0x65, 0x74, 0x61,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x43, 0x3e, 0x8e, 0xb8, 0x9e, 0x7d, 0x0c, 0x33, 0x6a, 0x02, 0xd3, 0x21,
|
||||
0x10, 0x00, 0x00, 0x00, 0xac, 0x05, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00,
|
||||
0xb0, 0x02, 0x00, 0x00, 0x67, 0x65, 0x6d, 0x76, 0x65, 0x72, 0x5f, 0x6b,
|
||||
0x65, 0x72, 0x6e, 0x65, 0x6c, 0x33, 0x00, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x28, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x1c, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20,
|
||||
0x1c, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0x00, 0x2e,
|
||||
0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x01, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x00, 0x23,
|
||||
0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0x00, 0x03, 0xb1, 0x12, 0x00, 0x0e, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0xa0, 0x01, 0x00, 0x00,
|
||||
0xa0, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x21,
|
||||
0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x2e, 0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x41, 0x96, 0x79, 0x20, 0x07, 0x0c, 0x0a, 0x08, 0x41, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x0e, 0x0e, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x2e, 0xc0, 0x0e, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x00, 0x22,
|
||||
0xc0, 0x01, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x80, 0x2e, 0xc0, 0x0e, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x72, 0x0c, 0x06, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x00, 0x0f, 0x8d, 0x0a, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x09, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0x20, 0x2e, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0xe0, 0x2d,
|
||||
0x20, 0x0e, 0x00, 0x06, 0x01, 0x08, 0x11, 0x02, 0x10, 0x17, 0x7b, 0x25,
|
||||
0x00, 0x00, 0x06, 0x08, 0x40, 0x96, 0x01, 0x20, 0x07, 0x72, 0x72, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x80, 0x22, 0x40, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x22, 0x40, 0x02, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x41, 0x56, 0x76, 0x20, 0x07, 0x14, 0x14, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0xc0, 0x22, 0xc0, 0x02, 0x8d, 0x3a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x5b, 0x02, 0x01, 0x20, 0x01, 0x80, 0xbc, 0x29,
|
||||
0x5b, 0x43, 0x07, 0x20, 0x01, 0xa0, 0xbf, 0x2d, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0x00, 0x01, 0x00, 0xc2, 0x01, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x40, 0x07, 0x00, 0xc2, 0x0e, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0xf0, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00,
|
||||
0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07,
|
||||
0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6e, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int gemver_Gen9core_gen_len = 8852;
|
||||
348
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gesummv/gesummv.cc
Normal file
348
repos/hello_gpgpu/src/hello_gpgpu/benchmark/gesummv/gesummv.cc
Normal file
@@ -0,0 +1,348 @@
|
||||
/**
|
||||
* gesummv.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "gesummv.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_gesummv {
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
#include "gesummv_kernel.h"
|
||||
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_kernel clKernel3;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem b_mem_obj;
|
||||
cl_mem x_mem_obj;
|
||||
cl_mem y_mem_obj;
|
||||
cl_mem tmp_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int n, DATA_TYPE POLYBENCH_1D(y,N,n), DATA_TYPE POLYBENCH_1D(y_outputFromGpu,N,n))
|
||||
{
|
||||
int i, fail;
|
||||
fail = 0;
|
||||
|
||||
for (i=0; i<n; i++)
|
||||
{
|
||||
if (percentDiff(y[i], y_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
// Print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void init(int n, DATA_TYPE *alpha, DATA_TYPE *beta, DATA_TYPE POLYBENCH_2D(A,N,N,n,n), DATA_TYPE POLYBENCH_2D(B,N,N,n,n),
|
||||
DATA_TYPE POLYBENCH_1D(x,N,n))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
*alpha = 43532;
|
||||
*beta = 12313;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
x[i] = ((DATA_TYPE) i) / N;
|
||||
|
||||
for (j = 0; j < n; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / N;
|
||||
B[i][j] = ((DATA_TYPE) i*j) / n;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("gesummv.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void gesummv(int n, DATA_TYPE alpha, DATA_TYPE beta, DATA_TYPE POLYBENCH_2D(A,N,N,n,n), DATA_TYPE POLYBENCH_2D(B,N,N,n,n), DATA_TYPE POLYBENCH_1D(tmp,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(x,N,n), DATA_TYPE POLYBENCH_1D(y,N,n))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < _PB_N; i++)
|
||||
{
|
||||
tmp[i] = 0;
|
||||
y[i] = 0;
|
||||
for (j = 0; j < _PB_N; j++)
|
||||
{
|
||||
tmp[i] = A[i][j] * x[j] + tmp[i];
|
||||
y[i] = B[i][j] * x[j] + y[i];
|
||||
}
|
||||
|
||||
y[i] = alpha * tmp[i] + beta * y[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,N,N,n,n), DATA_TYPE POLYBENCH_2D(B,N,N,n,n), DATA_TYPE POLYBENCH_1D(x,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(y,N,n), DATA_TYPE POLYBENCH_1D(tmp,N,n))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N * N, NULL, &errcode);
|
||||
b_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N * N, NULL, &errcode);
|
||||
x_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
y_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
tmp_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N * N, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, b_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N * N, B, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, x_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, x, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, y_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, y, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, tmp_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, tmp, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = gesummv_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = gesummv_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "gesummv_kernel", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int n, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&x_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(cl_mem), (void *)&y_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(cl_mem), (void *)&tmp_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(DATA_TYPE), (void *)&alpha);
|
||||
errcode |= clSetKernelArg(clKernel1, 6, sizeof(DATA_TYPE), (void *)&beta);
|
||||
errcode |= clSetKernelArg(clKernel1, 7, sizeof(int), (void *)&n);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments1\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(b_mem_obj);
|
||||
errcode = clReleaseMemObject(x_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int n,
|
||||
DATA_TYPE POLYBENCH_1D(y,N,n))
|
||||
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, y[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int n = N;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
DATA_TYPE alpha;
|
||||
DATA_TYPE beta;
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,N,N,n,n);
|
||||
POLYBENCH_2D_ARRAY_DECL(B,DATA_TYPE,N,N,n,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(tmp,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(y,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(y_outputFromGpu,DATA_TYPE,N,n);
|
||||
|
||||
init(n, &alpha, &beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(x));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(tmp));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(n, alpha, beta);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, y_mem_obj, CL_TRUE, 0, N*sizeof(DATA_TYPE), POLYBENCH_ARRAY(y_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
gesummv(n, alpha, beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(tmp), POLYBENCH_ARRAY(x), POLYBENCH_ARRAY(y));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(n, POLYBENCH_ARRAY(y), POLYBENCH_ARRAY(y_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(n, POLYBENCH_ARRAY(y_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(B);
|
||||
POLYBENCH_FREE_ARRAY(tmp);
|
||||
POLYBENCH_FREE_ARRAY(x);
|
||||
POLYBENCH_FREE_ARRAY(y);
|
||||
POLYBENCH_FREE_ARRAY(y_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/**
|
||||
* gesummv.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
|
||||
__kernel void gesummv_kernel(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *x, __global DATA_TYPE *y, __global DATA_TYPE *tmp, DATA_TYPE alpha, DATA_TYPE beta, int n)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < n)
|
||||
{
|
||||
int j;
|
||||
for(j = 0; j < n; j++)
|
||||
{
|
||||
tmp[i] += a[i * n + j] * x[j];
|
||||
y[i] += b[i * n + j] * x[j];
|
||||
}
|
||||
y[i] = alpha * tmp[i] + beta * y[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* gesummv.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef GESUMMV_H
|
||||
# define GESUMMV_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(N)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define N 1024
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define N 2048
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define N 4096
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define N 8192
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define N 16384
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_N POLYBENCH_LOOP_BOUND(N,n)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 256
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 1
|
||||
|
||||
|
||||
#endif /* !GESUMMV*/
|
||||
@@ -0,0 +1,306 @@
|
||||
unsigned char gesummv_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x88, 0x1e, 0xba, 0x42, 0xd4, 0x8e, 0x2e, 0x76,
|
||||
0xa3, 0xef, 0x14, 0x7f, 0x10, 0x00, 0x00, 0x00, 0xac, 0x07, 0x00, 0x00,
|
||||
0xc0, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x54, 0x01, 0x00, 0x00, 0x30, 0x04, 0x00, 0x00, 0x67, 0x65, 0x73, 0x75,
|
||||
0x6d, 0x6d, 0x76, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x44, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x0b, 0x04, 0x07, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f,
|
||||
0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00, 0x10, 0x16, 0x6f, 0x25,
|
||||
0x07, 0x00, 0x0b, 0x09, 0x10, 0x20, 0x80, 0x05, 0x20, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x0f, 0x8d, 0x0a, 0x30, 0x01, 0x00, 0x00, 0x22, 0x00, 0xa1, 0x00,
|
||||
0x00, 0x0e, 0x00, 0x20, 0x88, 0x03, 0x00, 0x00, 0x88, 0x03, 0x00, 0x00,
|
||||
0x10, 0x00, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20, 0x30, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20,
|
||||
0x30, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x01, 0x00,
|
||||
0x06, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e, 0x68, 0x00, 0x00, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xa0, 0x21, 0x60, 0x01, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x79, 0x20,
|
||||
0x07, 0x0d, 0x0d, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x00, 0x0f, 0x8d, 0x0a, 0x3c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x21, 0xa0, 0x01, 0x00, 0x06, 0x03, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x2e, 0x00, 0x0f, 0x00, 0x06,
|
||||
0x03, 0x5e, 0x20, 0x04, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x28, 0x02, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x60, 0x22, 0x60, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x41, 0x96, 0x6d, 0x20, 0x07, 0x11, 0x0b, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x30, 0x01, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x15, 0x13, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2e, 0x40, 0x0e, 0x8d, 0x0a,
|
||||
0x40, 0x01, 0x00, 0x00, 0x40, 0x96, 0x79, 0x20, 0x07, 0x13, 0x13, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x0a,
|
||||
0x3c, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x6e, 0x11, 0x06, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xe0, 0x22,
|
||||
0x80, 0x0e, 0x8d, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x60, 0x2c, 0xa0, 0x02, 0x00, 0x06,
|
||||
0x04, 0x5e, 0x20, 0x04, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2d,
|
||||
0xc0, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x20, 0x23, 0xe0, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0xc0, 0x23, 0x00, 0x01, 0x00, 0x06,
|
||||
0x02, 0x08, 0x11, 0x02, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xe0, 0x23,
|
||||
0x00, 0x0e, 0x00, 0x06, 0x04, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x71, 0x20,
|
||||
0x07, 0x6a, 0x6c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x23,
|
||||
0x20, 0x03, 0x8d, 0x0a, 0x34, 0x01, 0x00, 0x00, 0x40, 0x96, 0x75, 0x20,
|
||||
0x07, 0x61, 0x6c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x20, 0x24,
|
||||
0x20, 0x03, 0x8d, 0x0a, 0x38, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x2c, 0x40, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2c, 0x60, 0x03, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00, 0x10, 0x17, 0x6f, 0x25,
|
||||
0x00, 0x00, 0x06, 0x09, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x30, 0x01, 0x00, 0x00, 0x5b, 0x32, 0x06, 0x20,
|
||||
0x02, 0x18, 0x9f, 0x3d, 0x5b, 0xf3, 0x01, 0x20, 0x02, 0xf8, 0x94, 0x3d,
|
||||
0x33, 0x00, 0x80, 0x0c, 0x70, 0x30, 0x06, 0x00, 0xa2, 0x02, 0x00, 0x00,
|
||||
0x04, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c, 0x70, 0xf0, 0x01, 0x00,
|
||||
0x02, 0x0e, 0x00, 0x00, 0x04, 0x5e, 0x02, 0x04, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x2b, 0x20, 0x0c, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0x80, 0x24, 0x00, 0x01, 0x00, 0x06,
|
||||
0x02, 0x08, 0x11, 0x02, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x60, 0x2b,
|
||||
0x60, 0x02, 0x00, 0x06, 0x03, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xa0, 0x2b, 0x20, 0x04, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x24, 0x40, 0x0e, 0x00, 0x06,
|
||||
0x03, 0x5e, 0x20, 0x04, 0x5b, 0xf2, 0x00, 0x20, 0x02, 0xd8, 0x7e, 0x49,
|
||||
0x5b, 0x63, 0x07, 0x20, 0x02, 0x28, 0x75, 0x49, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0xf0, 0x00, 0x00, 0x62, 0x02, 0x00, 0x00, 0x03, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x60, 0x07, 0x00, 0x42, 0x0e, 0x00, 0x00,
|
||||
0x03, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x50, 0xfe, 0xff, 0xff, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x20, 0x2b, 0x60, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xe0, 0x24, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x41, 0x56, 0x66, 0x20, 0x07, 0x2b, 0x0f, 0x09,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x20, 0x2a, 0xc0, 0x0e, 0x8d, 0x3a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x57, 0x59, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x20, 0x25, 0xe0, 0x04, 0x8d, 0x0a,
|
||||
0x40, 0x01, 0x00, 0x00, 0x40, 0x96, 0x79, 0x20, 0x07, 0x59, 0x59, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xe0, 0x24, 0xe0, 0x04, 0x8d, 0x0a,
|
||||
0x3c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2a,
|
||||
0xe0, 0x0a, 0x00, 0x06, 0x04, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x60, 0x2a, 0x20, 0x05, 0x00, 0x06, 0x04, 0x5e, 0x20, 0x04,
|
||||
0x5b, 0xb2, 0x02, 0x20, 0x02, 0x5a, 0x55, 0x13, 0x5b, 0x13, 0x05, 0x20,
|
||||
0x02, 0x8a, 0x4e, 0x13, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xb0, 0x02, 0x00,
|
||||
0x22, 0x0b, 0x00, 0x00, 0x03, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x10, 0x05, 0x00, 0xe2, 0x04, 0x00, 0x00, 0x03, 0x5e, 0x02, 0x04,
|
||||
0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e,
|
||||
0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x03, 0x00,
|
||||
0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06,
|
||||
0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x01, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x40, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x54, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x60, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0xc0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x74, 0x6d, 0x70, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x62, 0x65, 0x74, 0x61,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int gesummv_Gen9core_gen_len = 3636;
|
||||
366
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.cc
Normal file
366
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.cc
Normal file
@@ -0,0 +1,366 @@
|
||||
/**
|
||||
* mvt.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "mvt.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_mvt {
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
#include "mvt_kernel.h"
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem x1_mem_obj;
|
||||
cl_mem x2_mem_obj;
|
||||
cl_mem y1_mem_obj;
|
||||
cl_mem y2_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
const int LIST_SIZE = N;
|
||||
char str_temp[1024];
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int n, DATA_TYPE POLYBENCH_1D(x1, N, n), DATA_TYPE POLYBENCH_1D(x1_outputFromGpu, N, n), DATA_TYPE POLYBENCH_1D(x2, N, n), DATA_TYPE POLYBENCH_1D(x2_outputFromGpu, N, n))
|
||||
{
|
||||
int i, fail;
|
||||
fail = 0;
|
||||
|
||||
for (i=0; i<n; i++)
|
||||
{
|
||||
if (percentDiff(x1[i], x1_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
|
||||
if (percentDiff(x2[i], x2_outputFromGpu[i]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
|
||||
// Print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// // Load the kernel source code into the array source_str
|
||||
// fp = fopen("mvt.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stdout, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init_array(int n, DATA_TYPE POLYBENCH_2D(A, N, N, n, n), DATA_TYPE POLYBENCH_1D(x1, N, n), DATA_TYPE POLYBENCH_1D(x2, N, n), DATA_TYPE POLYBENCH_1D(y1, N, n), DATA_TYPE POLYBENCH_1D(y2, N, n))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
x1[i] = ((DATA_TYPE) i) / N;
|
||||
x2[i] = ((DATA_TYPE) i + 1) / N;
|
||||
y1[i] = ((DATA_TYPE) i + 3) / N;
|
||||
y2[i] = ((DATA_TYPE) i + 4) / N;
|
||||
for (j = 0; j < n; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / N;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(a,N,N,n,n), DATA_TYPE POLYBENCH_1D(x1,N,n), DATA_TYPE POLYBENCH_1D(x2,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(y_1,N,n), DATA_TYPE POLYBENCH_1D(y_2,N,n))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N * N, NULL, &errcode);
|
||||
x1_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
x2_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
y1_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
y2_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * N, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N * N, a, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, x1_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, x1, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, x2_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, x2, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, y1_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, y_1, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, y2_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * N, y_2, 0, NULL, NULL);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = mvt_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = mvt_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program %d\n",errcode);
|
||||
|
||||
// Create the 1st OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "mvt_kernel1", &errcode);
|
||||
// Create the 2nd OpenCL kernel
|
||||
clKernel2 = clCreateKernel(clProgram, "mvt_kernel2", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int n)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)N) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = 1;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&x1_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&y1_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(int), (void *)&n);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel2, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 1, sizeof(cl_mem), (void *)&x2_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 2, sizeof(cl_mem), (void *)&y2_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel2, 3, sizeof(int), (void *)&n);
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel2, 1, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel\n");
|
||||
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseKernel(clKernel2);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(x1_mem_obj);
|
||||
errcode = clReleaseMemObject(x2_mem_obj);
|
||||
errcode = clReleaseMemObject(y1_mem_obj);
|
||||
errcode = clReleaseMemObject(y2_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void runMvt(int n, DATA_TYPE POLYBENCH_2D(a, N, N, n, n), DATA_TYPE POLYBENCH_1D(x1, N, n), DATA_TYPE POLYBENCH_1D(x2, N, n), DATA_TYPE POLYBENCH_1D(y1, N, n), DATA_TYPE POLYBENCH_1D(y2, N, n))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i=0; i<_PB_N; i++)
|
||||
{
|
||||
for (j=0; j<N; j++)
|
||||
{
|
||||
x1[i] = x1[i] + a[i][j] * y1[j];
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i<_PB_N; i++)
|
||||
{
|
||||
for (j=0; j<_PB_N; j++)
|
||||
{
|
||||
x2[i] = x2[i] + a[j][i] * y2[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int n,
|
||||
DATA_TYPE POLYBENCH_1D(x1,N,n),
|
||||
DATA_TYPE POLYBENCH_1D(x2,N,n))
|
||||
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, x1[i]);
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, x2[i]);
|
||||
if (i % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int n = N;
|
||||
|
||||
POLYBENCH_2D_ARRAY_DECL(a,DATA_TYPE,N,N,n,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x1,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x2,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x1_outputFromGpu,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(x2_outputFromGpu,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(y_1,DATA_TYPE,N,n);
|
||||
POLYBENCH_1D_ARRAY_DECL(y_2,DATA_TYPE,N,n);
|
||||
|
||||
init_array(n, POLYBENCH_ARRAY(a), POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(y_1), POLYBENCH_ARRAY(y_2));
|
||||
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(a), POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(y_1), POLYBENCH_ARRAY(y_2));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(n);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, x1_mem_obj, CL_TRUE, 0, N*sizeof(DATA_TYPE), POLYBENCH_ARRAY(x1_outputFromGpu), 0, NULL, NULL);
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, x2_mem_obj, CL_TRUE, 0, N*sizeof(DATA_TYPE), POLYBENCH_ARRAY(x2_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
runMvt(n, POLYBENCH_ARRAY(a), POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(y_1), POLYBENCH_ARRAY(y_2));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(n, POLYBENCH_ARRAY(x1), POLYBENCH_ARRAY(x1_outputFromGpu), POLYBENCH_ARRAY(x2), POLYBENCH_ARRAY(x2_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(n, POLYBENCH_ARRAY(x1_outputFromGpu), POLYBENCH_ARRAY(x2_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(a);
|
||||
POLYBENCH_FREE_ARRAY(x1);
|
||||
POLYBENCH_FREE_ARRAY(x2);
|
||||
POLYBENCH_FREE_ARRAY(x1_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(x2_outputFromGpu);
|
||||
POLYBENCH_FREE_ARRAY(y_1);
|
||||
POLYBENCH_FREE_ARRAY(y_2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
47
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.cl
Normal file
47
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.cl
Normal file
@@ -0,0 +1,47 @@
|
||||
/**
|
||||
* mvt.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
|
||||
__kernel void mvt_kernel1(__global DATA_TYPE *a, __global DATA_TYPE *x1, __global DATA_TYPE *y1, int n)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < n)
|
||||
{
|
||||
int j;
|
||||
for (j=0; j < n; j++)
|
||||
{
|
||||
x1[i] += a[i * n + j] * y1[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__kernel void mvt_kernel2(__global DATA_TYPE *a, __global DATA_TYPE *x2, __global DATA_TYPE *y2, int n)
|
||||
{
|
||||
int i = get_global_id(0);
|
||||
|
||||
if (i < n)
|
||||
{
|
||||
int j;
|
||||
for (j=0; j < n; j++)
|
||||
{
|
||||
x2[i] += a[j * n + i] * y2[j];
|
||||
}
|
||||
}
|
||||
}
|
||||
55
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.h
Normal file
55
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt.h
Normal file
@@ -0,0 +1,55 @@
|
||||
/**
|
||||
* mvt.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef MVT_H
|
||||
# define MVT_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(N)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define N 1024
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define N 2048
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define N 4096
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define N 8192
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define N 16384
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_N POLYBENCH_LOOP_BOUND(N,n)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !MVT*/
|
||||
414
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt_kernel.h
Normal file
414
repos/hello_gpgpu/src/hello_gpgpu/benchmark/mvt/mvt_kernel.h
Normal file
@@ -0,0 +1,414 @@
|
||||
unsigned char mvt_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x83, 0xbe, 0x79, 0x89, 0x31, 0xb2, 0xef, 0xd6,
|
||||
0x72, 0xbe, 0x4d, 0x09, 0x0c, 0x00, 0x00, 0x00, 0x34, 0x05, 0x00, 0x00,
|
||||
0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0x98, 0x02, 0x00, 0x00, 0x6d, 0x76, 0x74, 0x5f,
|
||||
0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x31, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x24, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x03, 0x26, 0x0a, 0x00, 0x20,
|
||||
0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0xa0, 0x22,
|
||||
0xc4, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00,
|
||||
0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x01, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x20, 0x2e,
|
||||
0xc4, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0x20, 0x0e, 0xb1, 0x12, 0xa0, 0x02, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0x88, 0x01, 0x00, 0x00,
|
||||
0x88, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x21,
|
||||
0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x2e, 0x40, 0x0f, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x41, 0x96, 0x75, 0x20, 0x07, 0x0c, 0x0a, 0x08, 0x41, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x0e, 0x0e, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x2e, 0xc0, 0x0e, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x00, 0x22,
|
||||
0xc0, 0x01, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x80, 0x2e, 0xc0, 0x0e, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x72, 0x0c, 0x06, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x00, 0x0f, 0x8d, 0x0a, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x09, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2e, 0x40, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0x80, 0x22,
|
||||
0x00, 0x01, 0x00, 0x06, 0x02, 0x08, 0x11, 0x02, 0x10, 0x17, 0x77, 0x25,
|
||||
0x00, 0x00, 0x06, 0x08, 0x40, 0x96, 0x79, 0x20, 0x07, 0x72, 0x72, 0x08,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x2d, 0x40, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xa0, 0x2d, 0x40, 0x02, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x5b, 0x02, 0x01, 0x20, 0x02, 0x80, 0xbc, 0x29,
|
||||
0x5b, 0x43, 0x07, 0x20, 0x02, 0xa0, 0xb7, 0x29, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0x00, 0x01, 0x00, 0xc2, 0x01, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x40, 0x07, 0x00, 0xc2, 0x0e, 0x00, 0x00,
|
||||
0x01, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x08, 0xff, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00,
|
||||
0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07,
|
||||
0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00,
|
||||
0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x78, 0x31, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x79, 0x31, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x6e, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x19, 0x4a, 0x9f, 0xb7,
|
||||
0x31, 0xb2, 0xef, 0xd6, 0x72, 0xbe, 0x4d, 0x09, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x34, 0x05, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0xcc, 0x00, 0x00, 0x00, 0x90, 0x02, 0x00, 0x00,
|
||||
0x6d, 0x76, 0x74, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x32, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0x60, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x24, 0x01, 0x00, 0x0a, 0x64, 0x00, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc8, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x03,
|
||||
0x26, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x40, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x20,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0x60, 0x22, 0xc8, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0a, 0x04, 0x07,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x40, 0x01, 0x8d, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x4a, 0x12, 0x60, 0x2e, 0xc8, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x05, 0x20, 0x80, 0x02, 0x42, 0x12, 0x00, 0x20, 0x60, 0x0e, 0xb1, 0x12,
|
||||
0x60, 0x02, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20,
|
||||
0x80, 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x21, 0x40, 0x01, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f, 0x40, 0x0f, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc0, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x0c, 0x0c, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0x00, 0x0f, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xc0, 0x21, 0x80, 0x01, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x2e, 0x00, 0x0f, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x0a, 0x18, 0x01, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0x00, 0x21, 0xc0, 0x00, 0x00, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0xc0, 0x00, 0x00, 0x1e,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x96, 0x15, 0x20, 0xe0, 0x10, 0x7e, 0x0a,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x31, 0x00, 0x00, 0x0a, 0x0c, 0x02, 0x40, 0x22,
|
||||
0x00, 0x01, 0x00, 0x06, 0x02, 0x08, 0x11, 0x02, 0x10, 0x17, 0x77, 0x25,
|
||||
0x00, 0x00, 0x06, 0x08, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22,
|
||||
0x00, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc0, 0x00, 0x00, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x40, 0x96, 0x79, 0x20, 0x07, 0x10, 0x10, 0x08,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2e,
|
||||
0x00, 0x02, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xe0, 0x2d, 0x80, 0x0e, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x5b, 0xe2, 0x00, 0x20, 0x02, 0x70, 0xc4, 0x25, 0x5b, 0x63, 0x07, 0x20,
|
||||
0x02, 0xb0, 0xbf, 0x25, 0x33, 0x00, 0x80, 0x0c, 0x70, 0xe0, 0x00, 0x00,
|
||||
0x82, 0x01, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x60, 0x07, 0x00, 0x02, 0x0f, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xf8, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x01, 0x4d, 0x00, 0x20,
|
||||
0x07, 0x7f, 0x03, 0x00, 0x31, 0x00, 0x60, 0x07, 0x04, 0x02, 0x00, 0x20,
|
||||
0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x13, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x15, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x78, 0x32, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x79, 0x32, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int mvt_Gen9core_gen_len = 4932;
|
||||
367
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.cc
Normal file
367
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.cc
Normal file
@@ -0,0 +1,367 @@
|
||||
/**
|
||||
* syr2k.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "syr2k.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 0.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_syr2k {
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
#include "syr2k_kernel.h"
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
DATA_TYPE acc;
|
||||
|
||||
DATA_TYPE ALPHA = 1;
|
||||
DATA_TYPE BETA = 1;
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_kernel clKernel3;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem b_mem_obj;
|
||||
cl_mem c_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int ni, DATA_TYPE POLYBENCH_2D(C, NI, NI, ni, ni), DATA_TYPE POLYBENCH_2D(C_outputFromGpu, NI, NI, ni, ni))
|
||||
{
|
||||
int i,j,fail;
|
||||
fail = 0;
|
||||
|
||||
// Compare C with D
|
||||
for (i=0; i<ni; i++)
|
||||
{
|
||||
for (j=0; j<ni; j++)
|
||||
{
|
||||
if (percentDiff(C[i][j], C_outputFromGpu[i][j]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// Load the kernel source code into the array source_str
|
||||
// fp = fopen("syr2k.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init_arrays(int ni, int nj,
|
||||
DATA_TYPE *alpha,
|
||||
DATA_TYPE *beta,
|
||||
DATA_TYPE POLYBENCH_2D(A,NI,NJ,ni,nj),
|
||||
DATA_TYPE POLYBENCH_2D(B,NI,NJ,ni,nj),
|
||||
DATA_TYPE POLYBENCH_2D(C,NI,NI,ni,ni))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
*alpha = 32412;
|
||||
*beta = 2123;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < nj; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
B[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < ni; j++)
|
||||
{
|
||||
C[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,NI,NJ,ni,nj), DATA_TYPE POLYBENCH_2D(B,NI,NJ,ni,nj), DATA_TYPE POLYBENCH_2D(C,NI,NJ,ni,nj))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NI*NJ*sizeof(DATA_TYPE), NULL, &errcode);
|
||||
b_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NI*NJ*sizeof(DATA_TYPE), NULL, &errcode);
|
||||
c_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, NI*NI*sizeof(DATA_TYPE), NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, NI*NJ*sizeof(DATA_TYPE), A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, b_mem_obj, CL_TRUE, 0, NI*NJ*sizeof(DATA_TYPE), B, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NI*NI*sizeof(DATA_TYPE), C, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = syr2k_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = syr2k_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
|
||||
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "syr2k_kernel", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int ni, int nj, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NI) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NJ) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode = clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&b_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(DATA_TYPE), (void *)&alpha);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(DATA_TYPE), (void *)&beta);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(int), (void *)&ni);
|
||||
errcode |= clSetKernelArg(clKernel1, 6, sizeof(int), (void *)&nj);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in setting arguments1\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(c_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void syr2kCpu(int ni, int nj,
|
||||
DATA_TYPE alpha,
|
||||
DATA_TYPE beta,
|
||||
DATA_TYPE POLYBENCH_2D(A,NI,NJ,ni,nj),
|
||||
DATA_TYPE POLYBENCH_2D(B,NI,NJ,ni,nj),
|
||||
DATA_TYPE POLYBENCH_2D(C,NI,NI,ni,ni))
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
/* C := alpha*A*B' + alpha*B*A' + beta*C */
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NI; j++)
|
||||
{
|
||||
C[i][j] *= beta;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NI; j++)
|
||||
{
|
||||
for (k = 0; k < _PB_NJ; k++)
|
||||
{
|
||||
C[i][j] += alpha * A[i][k] * B[j][k];
|
||||
C[i][j] += alpha * B[i][k] * A[j][k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int ni, DATA_TYPE POLYBENCH_2D(C,NI,NI,ni,ni))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
for (j = 0; j < ni; j++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, C[i][j]);
|
||||
if ((i * ni + j) % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int ni = NI;
|
||||
int nj = NJ;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
DATA_TYPE alpha;
|
||||
DATA_TYPE beta;
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,NI,NJ,ni,nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(B,DATA_TYPE,NI,NJ,ni,nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(C,DATA_TYPE,NI,NI,ni,ni);
|
||||
POLYBENCH_2D_ARRAY_DECL(C_outputFromGpu,DATA_TYPE,NI,NI,ni,ni);
|
||||
|
||||
init_arrays(ni, nj, &alpha, &beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(ni, nj, alpha, beta);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NI*NJ*sizeof(DATA_TYPE), POLYBENCH_ARRAY(C_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
syr2kCpu(ni, nj, alpha, beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(B), POLYBENCH_ARRAY(C));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(ni, POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(C_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(ni, POLYBENCH_ARRAY(C_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(B);
|
||||
POLYBENCH_FREE_ARRAY(C);
|
||||
POLYBENCH_FREE_ARRAY(C_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
37
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.cl
Normal file
37
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.cl
Normal file
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* syr2k.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
__kernel void syr2k_kernel(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < nj) && (j < nj))
|
||||
{
|
||||
c[i * nj + j] *= beta;
|
||||
|
||||
int k;
|
||||
for(k = 0; k < ni; k++)
|
||||
{
|
||||
c[i * nj + j] += alpha * a[i * ni + k] * b[j * ni + k] + alpha * b[i * ni + k] * a[j * ni + k];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.h
Normal file
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* syr2k.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef SYR2K_H
|
||||
# define SYR2K_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NI) && !defined(NJ)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define NI 256
|
||||
#define NJ 256
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define NI 512
|
||||
#define NJ 512
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define NI 1024
|
||||
#define NJ 1024
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define NI 2048
|
||||
#define NJ 2048
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define NI 4096
|
||||
#define NJ 4096
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni)
|
||||
# define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !SYR2K*/
|
||||
286
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k_kernel.h
Normal file
286
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syr2k/syr2k_kernel.h
Normal file
@@ -0,0 +1,286 @@
|
||||
unsigned char syr2k_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xe1, 0xe0, 0xe4, 0x31, 0x32, 0x25, 0x23, 0xb9,
|
||||
0x32, 0x32, 0xe5, 0xc4, 0x10, 0x00, 0x00, 0x00, 0xbc, 0x06, 0x00, 0x00,
|
||||
0x40, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0xcc, 0x00, 0x00, 0x00, 0xb0, 0x04, 0x00, 0x00, 0x73, 0x79, 0x72, 0x32,
|
||||
0x6b, 0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x60, 0x00, 0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30,
|
||||
0x00, 0x10, 0x00, 0x16, 0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x2f, 0x34, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00,
|
||||
0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x20, 0x38, 0x01, 0x00, 0x0a,
|
||||
0xb8, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc8, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x2f, 0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12,
|
||||
0x80, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x00, 0x2f, 0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a,
|
||||
0xe0, 0x00, 0x00, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22,
|
||||
0xc0, 0x01, 0x8d, 0x0a, 0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20,
|
||||
0x07, 0x0c, 0x0a, 0x07, 0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07,
|
||||
0x10, 0x20, 0x80, 0x05, 0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x24, 0x01, 0x00, 0x00, 0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x00, 0x02, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0x80, 0x01, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x48, 0x12, 0x00, 0x27, 0xc8, 0x0f, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0x60, 0x2c,
|
||||
0xc8, 0x0f, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05,
|
||||
0x22, 0x0a, 0x00, 0x20, 0xc0, 0x0e, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00,
|
||||
0x05, 0x20, 0x80, 0x02, 0x42, 0x12, 0x00, 0x20, 0x60, 0x0c, 0xb1, 0x12,
|
||||
0x00, 0x07, 0xb1, 0x00, 0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20,
|
||||
0x58, 0x03, 0x00, 0x00, 0x58, 0x03, 0x00, 0x00, 0x41, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x74, 0x76, 0x09, 0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x00, 0x02, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20, 0x20, 0x01, 0x00, 0x1e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0c,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a,
|
||||
0x40, 0x0f, 0x8d, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e,
|
||||
0x80, 0x0e, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x96, 0x6d, 0x20, 0x07, 0x74, 0x74, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a, 0x30, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x2e, 0x80, 0x0e, 0x00, 0x06,
|
||||
0x02, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x22,
|
||||
0x40, 0x02, 0x00, 0x06, 0x02, 0x5e, 0x20, 0x04, 0x41, 0x56, 0x7a, 0x20,
|
||||
0x07, 0x70, 0x72, 0x08, 0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0xc0, 0x22,
|
||||
0x80, 0x02, 0x8d, 0x3a, 0x1c, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0x00, 0x07, 0x00, 0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x60, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x58, 0x02, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20,
|
||||
0x07, 0x6e, 0x76, 0x09, 0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x23,
|
||||
0x00, 0x02, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x41, 0x96, 0x01, 0x20,
|
||||
0x07, 0x6c, 0x0c, 0x09, 0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x23,
|
||||
0x40, 0x0f, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x1e, 0xc4, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x1c, 0x6e, 0x7e, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0x00, 0x03, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x24, 0x6c, 0x7e, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xa0, 0x2b, 0x40, 0x03, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x23, 0x80, 0x03, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2d,
|
||||
0x40, 0x0d, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x24, 0x80, 0x04, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x60, 0x2b, 0xa0, 0x0b, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x65, 0x20, 0x07, 0x57, 0x1e, 0x09,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x25, 0x00, 0x0d, 0x8d, 0x0a,
|
||||
0x2c, 0x01, 0x00, 0x00, 0x40, 0x96, 0x5d, 0x20, 0x07, 0x20, 0x1e, 0x09,
|
||||
0x40, 0x96, 0x5d, 0x20, 0x07, 0x53, 0x26, 0x09, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0xa0, 0x2a, 0xe0, 0x0a, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x2c, 0x00, 0x0d, 0x8d, 0x0a,
|
||||
0x28, 0x01, 0x00, 0x00, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x00, 0x26,
|
||||
0xc0, 0x05, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x26, 0x60, 0x0b, 0x8d, 0x0a, 0x28, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x24, 0x00, 0x04, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x40, 0x96, 0x65, 0x20, 0x07, 0x28, 0x26, 0x09,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2a, 0x60, 0x0a, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x2c,
|
||||
0xc0, 0x0c, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x20, 0x2b, 0x60, 0x0b, 0x8d, 0x0a, 0x2c, 0x01, 0x00, 0x00,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x26, 0x40, 0x06, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0x40, 0x25,
|
||||
0x00, 0x05, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04, 0x40, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc4, 0x2f, 0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x25, 0x20, 0x0b, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x10, 0x17, 0x17, 0x25, 0x00, 0x00, 0x7e, 0x09,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x20, 0x01, 0x00, 0x00, 0x41, 0x56, 0x76, 0x20, 0x07, 0x55, 0x55, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x00, 0x26, 0x00, 0x06, 0x8d, 0x3a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x41, 0x56, 0x76, 0x20, 0x07, 0x61, 0x22, 0x08,
|
||||
0x41, 0x56, 0x02, 0x20, 0xe7, 0x55, 0x55, 0x51, 0x41, 0x20, 0x80, 0x00,
|
||||
0xe8, 0x3a, 0xe0, 0x2b, 0x80, 0x0c, 0x8d, 0x3a, 0x18, 0x01, 0x00, 0x00,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x00, 0x26, 0x00, 0x06, 0x8d, 0x3a,
|
||||
0x80, 0x06, 0x8d, 0x00, 0x5b, 0xf2, 0x04, 0x20, 0x00, 0xa8, 0xaa, 0xc2,
|
||||
0x5b, 0x63, 0x03, 0x20, 0x00, 0x80, 0xb1, 0xbe, 0x40, 0x56, 0x02, 0x20,
|
||||
0xe7, 0x70, 0x70, 0x4f, 0x40, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0xc0, 0x22,
|
||||
0xc0, 0x02, 0x8d, 0x3a, 0xc0, 0x06, 0x8d, 0x00, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0x00, 0x07, 0x00, 0x82, 0x0e, 0x00, 0x00, 0x02, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x60, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00,
|
||||
0x02, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0xe8, 0xfd, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00,
|
||||
0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00, 0x31, 0x00, 0x60, 0x07,
|
||||
0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f,
|
||||
0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00,
|
||||
0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x62, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x62, 0x65, 0x74, 0x61, 0x00, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x69, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00,
|
||||
0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00,
|
||||
0x69, 0x6e, 0x74, 0x3b, 0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int syr2k_Gen9core_gen_len = 3388;
|
||||
349
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.cc
Normal file
349
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.cc
Normal file
@@ -0,0 +1,349 @@
|
||||
/**
|
||||
* syrk.c: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <sys/time.h>
|
||||
#include <math.h>
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenCL/opencl.h>
|
||||
#else
|
||||
#include "../../CL/cl.h"
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
//select the OpenCL device to use (can be GPU, CPU, or Accelerator such as Intel Xeon Phi)
|
||||
#define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU
|
||||
|
||||
#include "syrk.h"
|
||||
#include "../../polybench.h"
|
||||
|
||||
//define the error threshold for the results "not matching"
|
||||
#define PERCENT_DIFF_ERROR_THRESHOLD 1.05
|
||||
|
||||
#define MAX_SOURCE_SIZE (0x100000)
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
namespace ns_syrk {
|
||||
#include "../../polybenchUtilFuncts.h"
|
||||
#include "syrk_kernel.h"
|
||||
|
||||
char str_temp[1024];
|
||||
|
||||
DATA_TYPE acc;
|
||||
|
||||
cl_platform_id platform_id;
|
||||
cl_device_id device_id;
|
||||
cl_uint num_devices;
|
||||
cl_uint num_platforms;
|
||||
cl_int errcode;
|
||||
cl_context clGPUContext;
|
||||
cl_kernel clKernel1;
|
||||
cl_kernel clKernel2;
|
||||
cl_kernel clKernel3;
|
||||
cl_command_queue clCommandQue;
|
||||
cl_program clProgram;
|
||||
|
||||
cl_mem a_mem_obj;
|
||||
cl_mem c_mem_obj;
|
||||
|
||||
FILE *fp;
|
||||
char *source_str;
|
||||
size_t source_size;
|
||||
|
||||
#define RUN_ON_CPU
|
||||
|
||||
|
||||
void compareResults(int ni, DATA_TYPE POLYBENCH_2D(C, NI, NI, ni, ni), DATA_TYPE POLYBENCH_2D(C_outputFromGpu, NI, NI, ni, ni))
|
||||
{
|
||||
int i,j,fail;
|
||||
fail = 0;
|
||||
|
||||
// Compare C with D
|
||||
for (i=0; i<ni; i++)
|
||||
{
|
||||
for (j=0; j<ni; j++)
|
||||
{
|
||||
if (percentDiff(C[i][j], C_outputFromGpu[i][j]) > PERCENT_DIFF_ERROR_THRESHOLD)
|
||||
{
|
||||
fail++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// print results
|
||||
printf("Non-Matching CPU-GPU Outputs Beyond Error Threshold of %4.2f Percent: %d\n", PERCENT_DIFF_ERROR_THRESHOLD, fail);
|
||||
}
|
||||
|
||||
|
||||
void read_cl_file()
|
||||
{
|
||||
// Load the kernel source code into the array source_str
|
||||
// fp = fopen("syrk.cl", "r");
|
||||
// if (!fp) {
|
||||
// fprintf(stderr, "Failed to load kernel.\n");
|
||||
// exit(1);
|
||||
// }
|
||||
// source_str = (char*)malloc(MAX_SOURCE_SIZE);
|
||||
// source_size = fread( source_str, 1, MAX_SOURCE_SIZE, fp);
|
||||
// fclose( fp );
|
||||
}
|
||||
|
||||
|
||||
void init_arrays(int ni, int nj,
|
||||
DATA_TYPE *alpha,
|
||||
DATA_TYPE *beta,
|
||||
DATA_TYPE POLYBENCH_2D(C,NI,NI,ni,ni),
|
||||
DATA_TYPE POLYBENCH_2D(A,NI,NJ,ni,nj))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
*alpha = 32412;
|
||||
*beta = 2123;
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < nj; j++)
|
||||
{
|
||||
A[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
{
|
||||
for (j = 0; j < ni; j++)
|
||||
{
|
||||
C[i][j] = ((DATA_TYPE) i*j) / ni;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void cl_initialization()
|
||||
{
|
||||
// Get platform and device information
|
||||
errcode = clGetPlatformIDs(1, &platform_id, &num_platforms);
|
||||
if(errcode == CL_SUCCESS) printf("number of platforms is %d\n",num_platforms);
|
||||
else printf("Error getting platform IDs\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id,CL_PLATFORM_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform name is %s\n",str_temp);
|
||||
else printf("Error getting platform name\n");
|
||||
|
||||
errcode = clGetPlatformInfo(platform_id, CL_PLATFORM_VERSION, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("platform version is %s\n",str_temp);
|
||||
else printf("Error getting platform version\n");
|
||||
|
||||
errcode = clGetDeviceIDs( platform_id, OPENCL_DEVICE_SELECTION, 1, &device_id, &num_devices);
|
||||
if(errcode == CL_SUCCESS) printf("number of devices is %d\n", num_devices);
|
||||
else printf("Error getting device IDs\n");
|
||||
|
||||
errcode = clGetDeviceInfo(device_id,CL_DEVICE_NAME, sizeof(str_temp), str_temp,NULL);
|
||||
if(errcode == CL_SUCCESS) printf("device name is %s\n",str_temp);
|
||||
else printf("Error getting device name\n");
|
||||
|
||||
// Create an OpenCL context
|
||||
clGPUContext = clCreateContext( NULL, 1, &device_id, NULL, NULL, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating context\n");
|
||||
|
||||
//Create a command-queue
|
||||
clCommandQue = clCreateCommandQueue(clGPUContext, device_id, 0, &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating command queue\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_mem_init(DATA_TYPE POLYBENCH_2D(A,NJ,NI,nj,ni), DATA_TYPE POLYBENCH_2D(C,NJ,NI,nj,ni))
|
||||
{
|
||||
a_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NJ, NULL, &errcode);
|
||||
c_mem_obj = clCreateBuffer(clGPUContext, CL_MEM_READ_WRITE, sizeof(DATA_TYPE) * NI * NJ, NULL, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating buffers\n");
|
||||
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, a_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NJ, A, 0, NULL, NULL);
|
||||
errcode = clEnqueueWriteBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, sizeof(DATA_TYPE) * NI * NJ, C, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS)printf("Error in writing buffers\n");
|
||||
}
|
||||
|
||||
|
||||
void cl_load_prog()
|
||||
{
|
||||
// Create a program from the kernel source
|
||||
const size_t kernel_size = syrk_Gen9core_gen_len;
|
||||
const unsigned char* kernel_bin = syrk_Gen9core_gen;
|
||||
clProgram = clCreateProgramWithBinary(clGPUContext, 1, &device_id, &kernel_size, &kernel_bin, NULL, &errcode);
|
||||
|
||||
|
||||
//clProgram = clCreateProgramWithSource(clGPUContext, 1, (const char **)&source_str, (const size_t *)&source_size, &errcode);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating program\n");
|
||||
|
||||
// Build the program
|
||||
errcode = clBuildProgram(clProgram, 1, &device_id, NULL, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in building program\n");
|
||||
|
||||
// Create the OpenCL kernel
|
||||
clKernel1 = clCreateKernel(clProgram, "syrk_kernel", &errcode);
|
||||
if(errcode != CL_SUCCESS) printf("Error in creating kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
}
|
||||
|
||||
|
||||
void cl_launch_kernel(int ni, int nj, DATA_TYPE alpha, DATA_TYPE beta)
|
||||
{
|
||||
size_t localWorkSize[2], globalWorkSize[2];
|
||||
localWorkSize[0] = DIM_LOCAL_WORK_GROUP_X;
|
||||
localWorkSize[1] = DIM_LOCAL_WORK_GROUP_Y;
|
||||
globalWorkSize[0] = (size_t)ceil(((float)NJ) / ((float)DIM_LOCAL_WORK_GROUP_X)) * DIM_LOCAL_WORK_GROUP_X;
|
||||
globalWorkSize[1] = (size_t)ceil(((float)NI) / ((float)DIM_LOCAL_WORK_GROUP_Y)) * DIM_LOCAL_WORK_GROUP_Y;
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
// Set the arguments of the kernel
|
||||
errcode = clSetKernelArg(clKernel1, 0, sizeof(cl_mem), (void *)&a_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 1, sizeof(cl_mem), (void *)&c_mem_obj);
|
||||
errcode |= clSetKernelArg(clKernel1, 2, sizeof(DATA_TYPE), (void *)&alpha);
|
||||
errcode |= clSetKernelArg(clKernel1, 3, sizeof(DATA_TYPE), (void *)&beta);
|
||||
errcode |= clSetKernelArg(clKernel1, 4, sizeof(int), (void *)&ni);
|
||||
errcode |= clSetKernelArg(clKernel1, 5, sizeof(int), (void *)&nj);
|
||||
|
||||
if(errcode != CL_SUCCESS) printf("Error in seting arguments1\n");
|
||||
|
||||
// Execute the OpenCL kernel
|
||||
errcode = clEnqueueNDRangeKernel(clCommandQue, clKernel1, 2, NULL, globalWorkSize, localWorkSize, 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in launching kernel1\n");
|
||||
clFinish(clCommandQue);
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("GPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
}
|
||||
|
||||
|
||||
void cl_clean_up()
|
||||
{
|
||||
// Clean up
|
||||
errcode = clFlush(clCommandQue);
|
||||
errcode = clFinish(clCommandQue);
|
||||
errcode = clReleaseKernel(clKernel1);
|
||||
errcode = clReleaseProgram(clProgram);
|
||||
errcode = clReleaseMemObject(a_mem_obj);
|
||||
errcode = clReleaseMemObject(c_mem_obj);
|
||||
errcode = clReleaseCommandQueue(clCommandQue);
|
||||
errcode = clReleaseContext(clGPUContext);
|
||||
if(errcode != CL_SUCCESS) printf("Error in cleanup\n");
|
||||
}
|
||||
|
||||
|
||||
void syrk(int ni, int nj, DATA_TYPE alpha, DATA_TYPE beta, DATA_TYPE POLYBENCH_2D(A, NI, NJ, ni, nj), DATA_TYPE POLYBENCH_2D(C, NI, NI, ni, ni))
|
||||
{
|
||||
int i, j, k;
|
||||
|
||||
/* C := alpha*A*A' + beta*C */
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NI; j++)
|
||||
{
|
||||
C[i][j] *= beta;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < _PB_NI; i++)
|
||||
{
|
||||
for (j = 0; j < _PB_NI; j++)
|
||||
{
|
||||
for (k = 0; k < _PB_NJ; k++)
|
||||
{
|
||||
C[i][j] += alpha * A[i][k] * A[j][k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* DCE code. Must scan the entire live-out data.
|
||||
Can be used also to check the correctness of the output. */
|
||||
static
|
||||
void print_array(int ni, DATA_TYPE POLYBENCH_2D(C,NI,NI,ni,ni))
|
||||
{
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < ni; i++)
|
||||
for (j = 0; j < ni; j++) {
|
||||
fprintf (stderr, DATA_PRINTF_MODIFIER, C[i][j]);
|
||||
if ((i * ni + j) % 20 == 0) fprintf (stderr, "\n");
|
||||
}
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
/* Retrieve problem size. */
|
||||
int ni = NI;
|
||||
int nj = NJ;
|
||||
|
||||
/* Variable declaration/allocation. */
|
||||
DATA_TYPE alpha;
|
||||
DATA_TYPE beta;
|
||||
|
||||
POLYBENCH_2D_ARRAY_DECL(A,DATA_TYPE,NI,NJ,ni,nj);
|
||||
POLYBENCH_2D_ARRAY_DECL(C,DATA_TYPE,NI,NI,ni,ni);
|
||||
POLYBENCH_2D_ARRAY_DECL(C_outputFromGpu,DATA_TYPE,NI,NI,ni,ni);
|
||||
|
||||
init_arrays(ni, nj, &alpha, &beta, POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(A));
|
||||
read_cl_file();
|
||||
cl_initialization();
|
||||
cl_mem_init(POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(C));
|
||||
cl_load_prog();
|
||||
|
||||
cl_launch_kernel(ni, nj, alpha, beta);
|
||||
|
||||
errcode = clEnqueueReadBuffer(clCommandQue, c_mem_obj, CL_TRUE, 0, NI * NJ * sizeof(DATA_TYPE), POLYBENCH_ARRAY(C_outputFromGpu), 0, NULL, NULL);
|
||||
if(errcode != CL_SUCCESS) printf("Error in reading GPU mem\n");
|
||||
|
||||
#ifdef RUN_ON_CPU
|
||||
|
||||
/* Start timer. */
|
||||
polybench_start_instruments;
|
||||
|
||||
syrk(ni, nj, alpha, beta, POLYBENCH_ARRAY(A), POLYBENCH_ARRAY(C));
|
||||
|
||||
/* Stop and print timer. */
|
||||
printf("CPU Time in seconds:\n");
|
||||
polybench_stop_instruments;
|
||||
polybench_print_instruments;
|
||||
|
||||
compareResults(ni, POLYBENCH_ARRAY(C), POLYBENCH_ARRAY(C_outputFromGpu));
|
||||
|
||||
#else //prevent dead code elimination
|
||||
|
||||
polybench_prevent_dce(print_array(ni, POLYBENCH_ARRAY(C_outputFromGpu)));
|
||||
|
||||
#endif //RUN_ON_CPU
|
||||
|
||||
cl_clean_up();
|
||||
|
||||
POLYBENCH_FREE_ARRAY(A);
|
||||
POLYBENCH_FREE_ARRAY(C);
|
||||
POLYBENCH_FREE_ARRAY(C_outputFromGpu);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
35
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.cl
Normal file
35
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.cl
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* syrk.cl: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#if defined(cl_khr_fp64) // Khronos extension available?
|
||||
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
|
||||
#elif defined(cl_amd_fp64) // AMD extension available?
|
||||
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
|
||||
#endif
|
||||
|
||||
typedef float DATA_TYPE;
|
||||
|
||||
|
||||
/* C := alpha*A*A' + beta*C */
|
||||
__kernel void syrk_kernel(__global DATA_TYPE *a, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj)
|
||||
{
|
||||
int j = get_global_id(0);
|
||||
int i = get_global_id(1);
|
||||
|
||||
if ((i < nj) && (j < nj))
|
||||
{
|
||||
c[i * nj + j] *= beta;
|
||||
int k;
|
||||
for(k=0; k< ni; k++)
|
||||
{
|
||||
c[i * nj + j] += alpha * a[i * ni + k] * a[j * ni + k];
|
||||
}
|
||||
}
|
||||
}
|
||||
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.h
Normal file
61
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/**
|
||||
* syrk.h: This file is part of the PolyBench/GPU 1.0 test suite.
|
||||
*
|
||||
*
|
||||
* Contact: Scott Grauer-Gray <sgrauerg@gmail.com>
|
||||
* Will Killian <killian@udel.edu>
|
||||
* Louis-Noel Pouchet <pouchet@cse.ohio-state.edu>
|
||||
* Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU
|
||||
*/
|
||||
|
||||
#ifndef SYRK_H
|
||||
# define SYRK_H
|
||||
|
||||
/* Default to STANDARD_DATASET. */
|
||||
# if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
|
||||
# define MINI_DATASET
|
||||
# endif
|
||||
|
||||
/* Do not define anything if the user manually defines the size. */
|
||||
# if !defined(NI) && !defined(NJ)
|
||||
/* Define the possible dataset sizes. */
|
||||
# ifdef MINI_DATASET
|
||||
#define NI 256
|
||||
#define NJ 256
|
||||
# endif
|
||||
|
||||
# ifdef SMALL_DATASET
|
||||
#define NI 512
|
||||
#define NJ 512
|
||||
# endif
|
||||
|
||||
# ifdef STANDARD_DATASET /* Default if unspecified. */
|
||||
#define NI 1024
|
||||
#define NJ 1024
|
||||
# endif
|
||||
|
||||
# ifdef LARGE_DATASET
|
||||
#define NI 2048
|
||||
#define NJ 2048
|
||||
# endif
|
||||
|
||||
# ifdef EXTRALARGE_DATASET
|
||||
#define NI 4096
|
||||
#define NJ 4096
|
||||
# endif
|
||||
# endif /* !N */
|
||||
|
||||
# define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni)
|
||||
# define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj)
|
||||
|
||||
# ifndef DATA_TYPE
|
||||
# define DATA_TYPE float
|
||||
# define DATA_PRINTF_MODIFIER "%0.2lf "
|
||||
# endif
|
||||
|
||||
/* Thread block dimensions */
|
||||
#define DIM_LOCAL_WORK_GROUP_X 32
|
||||
#define DIM_LOCAL_WORK_GROUP_Y 8
|
||||
|
||||
|
||||
#endif /* !SYRK*/
|
||||
247
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk_kernel.h
Normal file
247
repos/hello_gpgpu/src/hello_gpgpu/benchmark/syrk/syrk_kernel.h
Normal file
@@ -0,0 +1,247 @@
|
||||
unsigned char syrk_Gen9core_gen[] = {
|
||||
0x43, 0x54, 0x4e, 0x49, 0x39, 0x04, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xa2, 0x29, 0x32, 0xb5, 0x6e, 0xb4, 0xf2, 0x58,
|
||||
0x9c, 0x33, 0x96, 0x7c, 0x0c, 0x00, 0x00, 0x00, 0xf8, 0x05, 0x00, 0x00,
|
||||
0x80, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x88, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x73, 0x79, 0x72, 0x6b,
|
||||
0x5f, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x00, 0x01, 0x00, 0x60, 0x00,
|
||||
0x0c, 0x02, 0xa0, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x06, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x30, 0x00, 0x10, 0x00, 0x16,
|
||||
0xc0, 0x04, 0xc0, 0x04, 0x41, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc0, 0x2f,
|
||||
0x28, 0x01, 0x00, 0x0a, 0xa4, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00,
|
||||
0x2c, 0x0a, 0xc0, 0x20, 0x2c, 0x01, 0x00, 0x0a, 0xb8, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x4c, 0x16, 0xc4, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x01, 0x00, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2f,
|
||||
0xc0, 0x0f, 0x00, 0x12, 0x40, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0xc0, 0x21, 0xc0, 0x00, 0x00, 0x12, 0x80, 0x00, 0xb1, 0x00,
|
||||
0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x21, 0xc0, 0x0f, 0x00, 0x12,
|
||||
0x20, 0x00, 0xb1, 0x00, 0x40, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x2f,
|
||||
0xc0, 0x00, 0x00, 0x12, 0x60, 0x00, 0xb1, 0x00, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2f, 0x80, 0x0f, 0x8d, 0x0a, 0xe0, 0x00, 0x00, 0x00,
|
||||
0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x22, 0xc0, 0x01, 0x8d, 0x0a,
|
||||
0xe4, 0x00, 0x00, 0x00, 0x40, 0x96, 0x01, 0x20, 0x07, 0x0c, 0x0a, 0x07,
|
||||
0x40, 0x96, 0x2d, 0x20, 0x07, 0x76, 0x78, 0x07, 0x10, 0x20, 0x80, 0x05,
|
||||
0x20, 0x0a, 0x00, 0x20, 0x40, 0x0f, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0x80, 0x01, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x02, 0x20, 0x81, 0x00,
|
||||
0x48, 0x12, 0xa0, 0x2c, 0xc4, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00,
|
||||
0x02, 0x20, 0x81, 0x00, 0x4a, 0x12, 0xc0, 0x24, 0xc4, 0x00, 0x00, 0x16,
|
||||
0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x81, 0x05, 0x22, 0x0a, 0x00, 0x20,
|
||||
0xc0, 0x0e, 0x8d, 0x0a, 0x1c, 0x01, 0x00, 0x00, 0x05, 0x20, 0x80, 0x02,
|
||||
0x42, 0x12, 0x00, 0x20, 0xc0, 0x04, 0xb1, 0x12, 0xa0, 0x0c, 0xb1, 0x00,
|
||||
0x22, 0x00, 0xa1, 0x00, 0x02, 0x0e, 0x00, 0x20, 0xa8, 0x02, 0x00, 0x00,
|
||||
0xa8, 0x02, 0x00, 0x00, 0x41, 0x96, 0x79, 0x20, 0x07, 0x74, 0x76, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x1c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x80, 0x03, 0x24, 0x0a, 0x00, 0x20,
|
||||
0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x10, 0x20, 0x80, 0x03,
|
||||
0x24, 0x0a, 0x00, 0x20, 0x18, 0x01, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0xe7, 0x74, 0x74, 0x0c, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x22, 0x40, 0x02, 0x8d, 0x0a, 0x40, 0x0f, 0x8d, 0x00,
|
||||
0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x2e, 0x80, 0x0e, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x74, 0x74, 0x09, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x22,
|
||||
0x40, 0x02, 0x8d, 0x0a, 0x24, 0x01, 0x00, 0x00, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x40, 0x2e, 0x80, 0x0e, 0x00, 0x06, 0x01, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x80, 0x22, 0x40, 0x02, 0x00, 0x06,
|
||||
0x01, 0x5e, 0x20, 0x04, 0x41, 0x56, 0x72, 0x20, 0x07, 0x70, 0x72, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0xc0, 0x22, 0x80, 0x02, 0x8d, 0x3a,
|
||||
0x14, 0x01, 0x00, 0x00, 0x33, 0x00, 0x80, 0x0c, 0x70, 0x00, 0x07, 0x00,
|
||||
0x82, 0x0e, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04, 0x33, 0x20, 0x80, 0x0c,
|
||||
0x70, 0x60, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x20, 0x00, 0x11, 0x00, 0x04, 0x00, 0x00, 0x34, 0x00, 0x14, 0x00, 0x0e,
|
||||
0xa8, 0x01, 0x00, 0x00, 0x41, 0x96, 0x75, 0x20, 0x07, 0x6e, 0x76, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x00, 0x23, 0x00, 0x02, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x41, 0x96, 0x75, 0x20, 0x07, 0x6c, 0x0c, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x23, 0x40, 0x0f, 0x8d, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2c, 0x1e, 0xc4, 0x2f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x1c, 0x6e, 0x7e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d,
|
||||
0x00, 0x03, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00, 0x40, 0x96, 0x2d, 0x20,
|
||||
0x07, 0x66, 0x6c, 0x7e, 0x40, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x80, 0x24,
|
||||
0x40, 0x03, 0x8d, 0x0a, 0xc4, 0x0f, 0x00, 0x00, 0x09, 0x00, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x23, 0x80, 0x03, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x09, 0x20, 0x80, 0x00, 0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x1e,
|
||||
0x02, 0x00, 0x02, 0x00, 0x09, 0x00, 0x80, 0x00, 0x28, 0x0a, 0xc0, 0x2c,
|
||||
0xc0, 0x0c, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00, 0x09, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x24, 0x80, 0x04, 0x8d, 0x1e, 0x02, 0x00, 0x02, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x1c, 0x1c, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x40, 0x2d, 0x40, 0x0d, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x40, 0x96, 0x01, 0x20, 0x07, 0x66, 0x66, 0x09, 0x40, 0x20, 0x80, 0x00,
|
||||
0x28, 0x0a, 0x80, 0x24, 0x80, 0x04, 0x8d, 0x0a, 0x20, 0x01, 0x00, 0x00,
|
||||
0x31, 0x00, 0x80, 0x0c, 0x68, 0x02, 0xc0, 0x23, 0x80, 0x03, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x00, 0x2d,
|
||||
0x40, 0x0d, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04, 0x31, 0x00, 0x80, 0x0c,
|
||||
0x68, 0x02, 0x60, 0x2c, 0xc0, 0x0c, 0x00, 0x06, 0x00, 0x5e, 0x20, 0x04,
|
||||
0x31, 0x20, 0x80, 0x0c, 0x68, 0x02, 0x20, 0x2c, 0x80, 0x04, 0x00, 0x06,
|
||||
0x00, 0x5e, 0x20, 0x04, 0x40, 0x00, 0x00, 0x00, 0x2c, 0x0a, 0xc4, 0x2f,
|
||||
0xc4, 0x0f, 0x00, 0x1e, 0x01, 0x00, 0x01, 0x00, 0x10, 0x00, 0x80, 0x05,
|
||||
0x24, 0x0a, 0x00, 0x20, 0xc4, 0x0f, 0x00, 0x0a, 0x18, 0x01, 0x00, 0x00,
|
||||
0x10, 0x20, 0x80, 0x05, 0x24, 0x0a, 0x00, 0x20, 0xc4, 0x0f, 0x00, 0x0a,
|
||||
0x18, 0x01, 0x00, 0x00, 0x41, 0x56, 0x6e, 0x20, 0x07, 0x20, 0x1e, 0x08,
|
||||
0x41, 0x20, 0x80, 0x00, 0xe8, 0x3a, 0x40, 0x24, 0x00, 0x0d, 0x8d, 0x3a,
|
||||
0x10, 0x01, 0x00, 0x00, 0x5b, 0x02, 0x07, 0x20, 0x00, 0x80, 0x83, 0xc6,
|
||||
0x5b, 0x63, 0x01, 0x20, 0x00, 0xb0, 0x88, 0xc2, 0x33, 0x00, 0x80, 0x0c,
|
||||
0x70, 0x00, 0x07, 0x00, 0x82, 0x0e, 0x00, 0x00, 0x01, 0x5e, 0x02, 0x04,
|
||||
0x33, 0x20, 0x80, 0x0c, 0x70, 0x60, 0x01, 0x00, 0x42, 0x02, 0x00, 0x00,
|
||||
0x01, 0x5e, 0x02, 0x04, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x34,
|
||||
0x00, 0x14, 0x00, 0x0e, 0x98, 0xfe, 0xff, 0xff, 0x25, 0x00, 0xa0, 0x00,
|
||||
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0e, 0x10, 0x00, 0x00, 0x00,
|
||||
0x01, 0x4d, 0x00, 0x20, 0x07, 0x7f, 0x05, 0x00, 0x31, 0x00, 0x60, 0x07,
|
||||
0x04, 0x02, 0x00, 0x20, 0xe0, 0x0f, 0x00, 0x06, 0x10, 0x00, 0x00, 0x82,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83, 0x00, 0x00, 0x00, 0x03,
|
||||
0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x83,
|
||||
0x00, 0x00, 0x00, 0x03, 0x7f, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0x0f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x14, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x2b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x2a, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00,
|
||||
0x24, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x30, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00,
|
||||
0x28, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x3c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x19, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00,
|
||||
0x16, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x8c, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1b, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x04, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38,
|
||||
0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x67, 0x6c,
|
||||
0x6f, 0x62, 0x61, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x2a, 0x3b, 0x38, 0x00, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00,
|
||||
0x50, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x61, 0x6c, 0x70, 0x68, 0x61, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41,
|
||||
0x5f, 0x54, 0x59, 0x50, 0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00,
|
||||
0x03, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
|
||||
0x5f, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00,
|
||||
0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00, 0x62, 0x65, 0x74, 0x61,
|
||||
0x00, 0x00, 0x00, 0x00, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x3b, 0x34, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x69, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00,
|
||||
0x1a, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00,
|
||||
0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
|
||||
0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x5f, 0x5f, 0x70, 0x72,
|
||||
0x69, 0x76, 0x61, 0x74, 0x65, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45,
|
||||
0x00, 0x00, 0x00, 0x00, 0x6e, 0x6a, 0x00, 0x00, 0x69, 0x6e, 0x74, 0x3b,
|
||||
0x34, 0x00, 0x00, 0x00, 0x4e, 0x4f, 0x4e, 0x45, 0x00, 0x00, 0x00, 0x00
|
||||
};
|
||||
unsigned int syrk_Gen9core_gen_len = 2928;
|
||||
@@ -8,7 +8,9 @@
|
||||
#include <libc/component.h>
|
||||
#include "CL/cl.h"
|
||||
|
||||
extern int main(int argc, char *argv[]);
|
||||
// bench includes
|
||||
#include "benchmark/benchmark_extern.h"
|
||||
|
||||
|
||||
void testvm_construct(Genode::Env &env)
|
||||
{
|
||||
@@ -32,7 +34,17 @@ void testvm_construct(Genode::Env &env)
|
||||
// run 2mm
|
||||
Libc::with_libc([&] {
|
||||
clInitGenode(alloc);
|
||||
main(0, 0);
|
||||
ns_2mm::main(0,0);
|
||||
ns_3mm::main(0, 0);
|
||||
ns_atax::main(0,0);
|
||||
ns_bicg::main(0,0);
|
||||
ns_doitgen::main(0,0);
|
||||
ns_gemm::main(0,0);
|
||||
ns_gemver::main(0,0);
|
||||
ns_gesummv::main(0,0);
|
||||
ns_mvt::main(0,0);
|
||||
ns_syr2k::main(0,0);
|
||||
ns_syrk::main(0,0);
|
||||
});
|
||||
|
||||
Genode::log("hello gpgpu completed");
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
# define POLYBENCH_CACHE_SIZE_KB 32770
|
||||
#endif
|
||||
|
||||
#define POLYBENCH_TIME 1
|
||||
|
||||
int polybench_papi_counters_threadid = POLYBENCH_THREAD_MONITOR;
|
||||
double polybench_program_total_flops = 0;
|
||||
|
||||
@@ -164,6 +164,7 @@ extern const unsigned int polybench_papi_eventlist[];
|
||||
# define polybench_print_instruments polybench_papi_print();
|
||||
# endif
|
||||
|
||||
#define POLYBENCH_TIME
|
||||
|
||||
/* Timing support. */
|
||||
# if defined(POLYBENCH_TIME) || defined(POLYBENCH_GFLOPS)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
TARGET = hello_gpgpu
|
||||
SRC_CC = main.cc test.cc CL/cl.cc 2mm.cc
|
||||
LIBS = base libc
|
||||
SRC_CC = main.cc test.cc polybench.cc CL/cl.cc benchmark/2mm/2mm.cc benchmark/3mm/3mm.cc benchmark/atax/atax.cc benchmark/bicg/bicg.cc benchmark/doitgen/doitgen.cc benchmark/gemm/gemm.cc benchmark/gemver/gemver.cc benchmark/gesummv/gesummv.cc benchmark/mvt/mvt.cc benchmark/syr2k/syr2k.cc benchmark/syrk/syrk.cc
|
||||
LIBS = base libc
|
||||
|
||||
CC_CXX_WARN_STRICT =
|
||||
|
||||
Reference in New Issue
Block a user