From 69f2911e04ffb1b19eef1fafb8c040af271f656e Mon Sep 17 00:00:00 2001 From: Tor Aamodt Date: Thu, 15 Jul 2010 18:09:46 -0800 Subject: creating branch for adding support for CUDA 3.x and Fermi [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 6829] --- benchmarks/CUDA/DG/buildsource.m | 106 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 benchmarks/CUDA/DG/buildsource.m (limited to 'benchmarks/CUDA/DG/buildsource.m') diff --git a/benchmarks/CUDA/DG/buildsource.m b/benchmarks/CUDA/DG/buildsource.m new file mode 100644 index 0000000..c93d363 --- /dev/null +++ b/benchmarks/CUDA/DG/buildsource.m @@ -0,0 +1,106 @@ + +function buildsource(in_N) + +Globals2D; + + +NODETOL = 1e-8; + +N = in_N; + +Np = (N+1)*(N+2)/2; Nfp = N+1; Nfaces = 3; + +[x,y] = Nodes2D(N); +[r,s] = xytors(x,y); + +% find all the nodes that lie on each edge +fmask1 = find( abs(s+1) < NODETOL)'; +fmask2 = find( abs(r+s) < NODETOL)'; +fmask3 = find( abs(r+1) < NODETOL)'; +Fmask = [fmask1;fmask2;fmask3]'; + +% vandermonde matrix +V = Vandermonde2D(N, r, s); + +% derivative matrices +[Dr, Ds] = Dmatrices2D(N, r, s, V); + +% lift matrix +LIFT = Lift2D(); + +% correct to 0-index +Fmask = Fmask-1; + + +fid = fopen(sprintf('dataN%02d.h', N), 'w'); + +fprintf(fid, sprintf('#ifndef DATAN%02d \n\n', N)); +fprintf(fid, sprintf('#define DATAN%02d 1\n\n', N)); +fprintf(fid, 'double p_r[%d] = { ', Np); +fprintf(fid, '%17.15g ', r(1)); +for n=2:Np + fprintf(fid, ', %17.15g ', r(n)); +end +fprintf(fid, '};\n') + +fprintf(fid, 'double p_s[%d] = {', Np); +fprintf(fid, '%17.15g ', s(1)); +for n=2:Np + fprintf(fid, ', %17.15g ', s(n)); +end +fprintf(fid, '};\n') + +fprintf(fid, 'double p_Dr[%d][%d] = {', Np, Np); +for m=1:Np +fprintf(fid, '{%17.15g ', Dr(m,1)); +for n=2:Np + fprintf(fid, ', %17.15g ', Dr(m,n)); +end +if(m