Compare commits
19 Commits
9d707a253a
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| bda49a20c9 | |||
| 09ee32383f | |||
| a892100308 | |||
| bf9a0a2941 | |||
| cb6856ccde | |||
| 1ec4ef198e | |||
| 78fb87e978 | |||
| 135f425fd7 | |||
| dbaa9440b4 | |||
| 1543a0f121 | |||
| 2daed2f9eb | |||
| 3cc8fef087 | |||
| 043d28b5dd | |||
| b556656a2d | |||
| efed56c0b1 | |||
| 1732758656 | |||
| dcd3df8f89 | |||
| f800b4f395 | |||
| f8ae49d666 |
15
.zed/tasks.json
Normal file
15
.zed/tasks.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Run CUDA - Student_Cuda",
|
||||||
|
"command": "cbicc cuda clean jall run",
|
||||||
|
"cwd": "Student_Cuda",
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always",
|
||||||
|
"reveal_target": "dock",
|
||||||
|
"hide": "never",
|
||||||
|
"shell": "system",
|
||||||
|
"show_summary": true,
|
||||||
|
"show_command": true
|
||||||
|
}
|
||||||
|
]
|
||||||
10
Student_Cuda/.clangd
Normal file
10
Student_Cuda/.clangd
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
CompileFlags:
|
||||||
|
Add:
|
||||||
|
- "-I/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/INC_SYMLINK/EXT"
|
||||||
|
- "-I/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/INC_SYMLINK/PROJECT"
|
||||||
|
- "-std=c++17"
|
||||||
|
- "-x"
|
||||||
|
- "cuda"
|
||||||
|
---
|
||||||
|
Diagnostics:
|
||||||
|
Suppress: "*"
|
||||||
14
Student_Cuda/.zed/tasks.json
Normal file
14
Student_Cuda/.zed/tasks.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Run CUDA",
|
||||||
|
"command": "cbicc cuda clean jall run",
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always",
|
||||||
|
"reveal_target": "dock",
|
||||||
|
"hide": "never",
|
||||||
|
"shell": "system",
|
||||||
|
"show_summary": true,
|
||||||
|
"show_command": true
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/02_baseline/host/AddVector.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/02_baseline/host/AddVector.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_bistream/host/AddVectorBistream.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_bistream/host/AddVectorBistream.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_bistream/host/AddVectorBistream_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_bistream/host/AddVectorBistream_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/AddVectorTristream.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/AddVectorTristream.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/AddVectorTristream_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/AddVectorTristream_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/02_baseline/host/AddVector_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/02_baseline/host/AddVector_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/01_Montecarlo_mono/host/Montecarlo.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/01_Montecarlo_mono/host/Montecarlo.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/MontecarloMulti_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/MontecarloMulti_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/02_stream_version/MontecarloMulti_stream.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/02_stream_version/MontecarloMulti_stream.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/01_thread_version/MontecarloMulti_thread.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/02_Montecarlo_multi/host/01_thread_version/MontecarloMulti_thread.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/01_Montecarlo_mono/host/Montecarlo_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/01_Montecarlo_mono/host/Montecarlo_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/01_algorithme/generic/Reduction.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/01_algorithme/generic/Reduction.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/01_algorithme/add/ReductionAdd.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/01_algorithme/add/ReductionAdd.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/add/int/PI/host/ReductionAddIntI.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/add/int/PI/host/ReductionAddIntI.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/add/int/PII/host/ReductionAddIntII.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/add/int/PII/host/ReductionAddIntII.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/int/PI/host/ReductionIntI.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/int/PI/host/ReductionIntI.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/int/PII/host/ReductionIntII.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/int/PII/host/ReductionIntII.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/long/PII/host/ReductionLongII.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/../Student_Cuda_Tools_Reduction/src/core/02_use_protocole/generic/long/PII/host/ReductionLongII.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/02_Slice_GM/host/SliceGM.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/02_Slice_GM/host/SliceGM.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/01_Slice_GM_Host/host/SliceGMHOST.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/01_Slice_GM_Host/host/SliceGMHOST.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/01_Slice_GM_Host/host/SliceGMHost_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/01_Slice_GM_Host/host/SliceGMHost_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/02_Slice_GM/host/SliceGM_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/02_Slice_GM/host/SliceGM_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/03_Slice_SM/host/SliceSM.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/03_Slice_SM/host/SliceSM.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/03_Slice_SM/host/SliceSM_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/03_Slice/03_Slice_SM/host/SliceSM_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/00_tools/VectorTools.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/00_tools/VectorTools.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/entier_montecarlo.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/04_Montecarlo/entier_montecarlo.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/01_device/losetime.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/01_device/losetime.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run3Slice.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run3Slice.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run4Slice.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run4Slice.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run5Slice.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/warmup/run5Slice.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/runGeneric.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda/src/core/01_student/05_addvector_stream/03_tristream/host/helper/runGeneric.h
|
||||||
218
Student_Cuda/out/SliceGMHOST_justesse.html
Normal file
218
Student_Cuda/out/SliceGMHOST_justesse.html
Normal file
@@ -0,0 +1,218 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceGMHOST_justesse </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceGMHOST_justesse </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">3.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestSliceGMHOST">TestSliceGMHOST</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">14</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">3.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestSliceGMHOST"></a>Suite: TestSliceGMHOST</h3>
|
||||||
|
<table summary="Details for suite TestSliceGMHOST" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB2</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB4</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB8</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB16</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB32</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB64</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB128</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB256</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB512</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB1024</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testMonoBlock</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">2.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testMonoThread</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testBestGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda/out/SliceGMHOST_performance.html
Normal file
140
Student_Cuda/out/SliceGMHOST_performance.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceGMHOST_performance </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceGMHOST_performance </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">10.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestPerformance_RunnableGPU_A">TestPerformance_RunnableGPU_A</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">10.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestPerformance_RunnableGPU_A"></a>Suite: TestPerformance_RunnableGPU_A</h3>
|
||||||
|
<table summary="Details for suite TestPerformance_RunnableGPU_A" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">performanceOnly</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">10.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
212
Student_Cuda/out/SliceGM_justesse.html
Normal file
212
Student_Cuda/out/SliceGM_justesse.html
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceGM_justesse </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceGM_justesse </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestSliceGM">TestSliceGM</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">13</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestSliceGM"></a>Suite: TestSliceGM</h3>
|
||||||
|
<table summary="Details for suite TestSliceGM" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB2</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB4</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB8</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB16</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB32</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB64</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB128</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB256</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB512</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB1024</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testMonoBlock</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testBestGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda/out/SliceGM_performance.html
Normal file
140
Student_Cuda/out/SliceGM_performance.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceGM_performance </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceGM_performance </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestPerformance_RunnableGPU_A">TestPerformance_RunnableGPU_A</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestPerformance_RunnableGPU_A"></a>Suite: TestPerformance_RunnableGPU_A</h3>
|
||||||
|
<table summary="Details for suite TestPerformance_RunnableGPU_A" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">performanceOnly</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
212
Student_Cuda/out/SliceSM_justesse.html
Normal file
212
Student_Cuda/out/SliceSM_justesse.html
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceSM_justesse </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceSM_justesse </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestSliceSM">TestSliceSM</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">13</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestSliceSM"></a>Suite: TestSliceSM</h3>
|
||||||
|
<table summary="Details for suite TestSliceSM" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB2</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB4</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB8</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB16</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB32</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB64</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB128</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB256</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB512</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testDB1024</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testMonoBlock</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">testBestGrid</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">0.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda/out/SliceSM_performance.html
Normal file
140
Student_Cuda/out/SliceSM_performance.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>SliceSM_performance </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>SliceSM_performance </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestPerformance_RunnableGPU_A">TestPerformance_RunnableGPU_A</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestPerformance_RunnableGPU_A"></a>Suite: TestPerformance_RunnableGPU_A</h3>
|
||||||
|
<table summary="Details for suite TestPerformance_RunnableGPU_A" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">performanceOnly</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">11.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
6
Student_Cuda/out/bruteforce/SliceGM_21474836_db.csv
Normal file
6
Student_Cuda/out/bruteforce/SliceGM_21474836_db.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
32,64,128,256,512,1024
|
||||||
|
32,64,128,256,512,1024
|
||||||
|
32,64,128,256,512,1024
|
||||||
|
32,64,128,256,512,1024
|
||||||
|
32,64,128,256,512,1024
|
||||||
|
32,64,128,256,512,1024
|
||||||
|
6
Student_Cuda/out/bruteforce/SliceGM_21474836_dg.csv
Normal file
6
Student_Cuda/out/bruteforce/SliceGM_21474836_dg.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
32,32,32,32,32,32
|
||||||
|
64,64,64,64,64,64
|
||||||
|
128,128,128,128,128,128
|
||||||
|
256,256,256,256,256,256
|
||||||
|
512,512,512,512,512,512
|
||||||
|
1024,1024,1024,1024,1024,1024
|
||||||
|
6
Student_Cuda/out/bruteforce/SliceGM_21474836_fps.csv
Normal file
6
Student_Cuda/out/bruteforce/SliceGM_21474836_fps.csv
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
3750,6817,11066,12202,11631,10322
|
||||||
|
6844,11006,15104,15871,13479,10287
|
||||||
|
10991,11878,15129,13202,10284,7342
|
||||||
|
14949,15120,13135,10312,7368,4615
|
||||||
|
15185,13094,10243,7384,4626,2678
|
||||||
|
13038,10240,7363,4636,2691,1459
|
||||||
|
10
Student_Cuda/out/bruteforce/SliceSM_21474836_db.csv
Normal file
10
Student_Cuda/out/bruteforce/SliceSM_21474836_db.csv
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
64,128,256,512,1024
|
||||||
|
10
Student_Cuda/out/bruteforce/SliceSM_21474836_dg.csv
Normal file
10
Student_Cuda/out/bruteforce/SliceSM_21474836_dg.csv
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
68,68,68,68,68
|
||||||
|
136,136,136,136,136
|
||||||
|
204,204,204,204,204
|
||||||
|
272,272,272,272,272
|
||||||
|
340,340,340,340,340
|
||||||
|
408,408,408,408,408
|
||||||
|
476,476,476,476,476
|
||||||
|
544,544,544,544,544
|
||||||
|
612,612,612,612,612
|
||||||
|
680,680,680,680,680
|
||||||
|
10
Student_Cuda/out/bruteforce/SliceSM_21474836_fps.csv
Normal file
10
Student_Cuda/out/bruteforce/SliceSM_21474836_fps.csv
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
14872,23559,29077,29179,29245
|
||||||
|
23644,29250,29265,29249,29235
|
||||||
|
23620,29205,29208,29217,23873
|
||||||
|
29202,29184,29182,29183,23568
|
||||||
|
23586,29205,29282,29279,23595
|
||||||
|
29261,29312,29262,29297,23584
|
||||||
|
29235,29140,29239,29173,19773
|
||||||
|
29160,29123,29176,29187,19713
|
||||||
|
29179,29213,29187,29235,19736
|
||||||
|
26261,29069,29066,29051,19642
|
||||||
|
@@ -22,12 +22,21 @@ static __device__ float f(float x);
|
|||||||
* tabGM est un tableau promu, qui a autant de case que de thread
|
* tabGM est un tableau promu, qui a autant de case que de thread
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
__global__ void reductionIntraThreadGMHOST(float* tabGM , int nbSlice)
|
__global__ void reductionIntraThreadGMHOST(float* tabGM , int nbSlice) {
|
||||||
{
|
|
||||||
const int NB_THREAD = Thread2D::nbThread();
|
const int NB_THREAD = Thread2D::nbThread();
|
||||||
const int TID = Thread2D::tid();
|
const int TID = Thread2D::tid();
|
||||||
|
|
||||||
// TODO SliceGMHOST
|
const float delta_x = 1.f / (float)nbSlice;
|
||||||
|
|
||||||
|
int s = TID;
|
||||||
|
tabGM[TID] = 0.f;
|
||||||
|
|
||||||
|
while(s < nbSlice) {
|
||||||
|
float xi = s * delta_x;
|
||||||
|
tabGM[TID] += f(xi);
|
||||||
|
|
||||||
|
s+=NB_THREAD;
|
||||||
|
}
|
||||||
|
|
||||||
// Conseils :
|
// Conseils :
|
||||||
//
|
//
|
||||||
@@ -43,13 +52,10 @@ __global__ void reductionIntraThreadGMHOST(float* tabGM , int nbSlice)
|
|||||||
|* Private *|
|
|* Private *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
__device__ float f(float x)
|
__device__ float f(float x) {
|
||||||
{
|
return 4.f / (1.f + x * x);
|
||||||
// TODO SliceGMHOST
|
}
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -29,20 +29,19 @@ extern __global__ void reductionIntraThreadGMHOST(float* tabGM,int nbSlice);
|
|||||||
|
|
||||||
SliceGMHOST::SliceGMHOST(Grid grid , int nbSlice , double* ptrPiHat , bool isVerbose) :
|
SliceGMHOST::SliceGMHOST(Grid grid , int nbSlice , double* ptrPiHat , bool isVerbose) :
|
||||||
RunnableGPU(grid, "SliceGM_HOST_" + to_string(nbSlice), isVerbose), // classe parente
|
RunnableGPU(grid, "SliceGM_HOST_" + to_string(nbSlice), isVerbose), // classe parente
|
||||||
//
|
nbSlice(nbSlice),
|
||||||
nbSlice(nbSlice), //
|
ptrPiHat(ptrPiHat)
|
||||||
ptrPiHat(ptrPiHat) //
|
{
|
||||||
{
|
|
||||||
this->nTabGM = -1; // TODO SliceGMHOST // le nombre de case de tabGM. Indication : grid.threadCounts() donne le nombre de thread ed la grille
|
|
||||||
this->sizeTabGM = -1; // TODO SliceGMHOST // la taille en octet de tabGM [octet]
|
|
||||||
|
|
||||||
// TODO SliceGMHOST
|
this->nTabGM = grid.threadCounts(); // le nombre de case de tabGM. Indication : grid.threadCounts() donne le nombre de thread de la grille
|
||||||
}
|
this->sizeTabGM = nTabGM * sizeof(float); // la taille en octet de tabGM [octet]
|
||||||
|
|
||||||
SliceGMHOST::~SliceGMHOST(void)
|
GM::malloc(&tabGM, sizeTabGM);
|
||||||
{
|
}
|
||||||
// TODO SliceGMHOST
|
|
||||||
}
|
SliceGMHOST::~SliceGMHOST(void) {
|
||||||
|
GM::free(tabGM);
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Methode *|
|
|* Methode *|
|
||||||
@@ -60,9 +59,9 @@ SliceGMHOST::~SliceGMHOST(void)
|
|||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
void SliceGMHOST::run()
|
void SliceGMHOST::run() {
|
||||||
{
|
|
||||||
// TODO SliceGMHOST // call the kernel
|
reductionIntraThreadGMHOST<<<dg, db>>>(tabGM, nbSlice);
|
||||||
|
|
||||||
// Indication:
|
// Indication:
|
||||||
// dg et db sont stokcer dans la classe parente
|
// dg et db sont stokcer dans la classe parente
|
||||||
@@ -70,7 +69,7 @@ void SliceGMHOST::run()
|
|||||||
// exemple : reductionIntraThreadGMHOST<<<dg,db>>>(...)
|
// exemple : reductionIntraThreadGMHOST<<<dg,db>>>(...)
|
||||||
|
|
||||||
reductionHost();
|
reductionHost();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Private *|
|
|* Private *|
|
||||||
@@ -88,7 +87,15 @@ void SliceGMHOST::reductionHost()
|
|||||||
|
|
||||||
|
|
||||||
// TODO SliceGMHOST
|
// TODO SliceGMHOST
|
||||||
|
float tab[nTabGM];
|
||||||
|
GM::memcpyDToH(tab, tabGM, sizeTabGM);
|
||||||
|
for (int i = 0; i < nTabGM; i++) {
|
||||||
|
*ptrPiHat += (double)tab[i];
|
||||||
}
|
}
|
||||||
|
const double delta_x = 1.f / (float)nbSlice;
|
||||||
|
*ptrPiHat *= delta_x;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -11,29 +11,27 @@
|
|||||||
|* Impelmentation *|
|
|* Impelmentation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
namespace sliceGMHost
|
namespace sliceGMHost {
|
||||||
{
|
|
||||||
|
|
||||||
class BestGrid
|
class BestGrid {
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static Grid get()
|
static Grid get() {
|
||||||
{
|
const int MP = Hardware::getMPCount();
|
||||||
const int MP = Hardware::getMPCount();
|
const int CORE_MP = Hardware::getCoreCountMP();
|
||||||
|
|
||||||
// TODO SliceGMHOST grid
|
dim3 dg(MP, 1, 1);
|
||||||
|
dim3 db(CORE_MP, 2, 1); // produit <=1024
|
||||||
|
Grid grid(dg, db);
|
||||||
|
|
||||||
// to remove once coded
|
return grid;
|
||||||
{
|
|
||||||
Couts::redln("aie aie aie, your best grid won t build itself");
|
|
||||||
assert(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
}
|
||||||
}
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#include "Thread2D.cu.h"
|
|
||||||
#include "Thread1D.cu.h"
|
#include "Thread1D.cu.h"
|
||||||
|
#include "Thread2D.cu.h"
|
||||||
#include "cudas.h"
|
#include "cudas.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@@ -16,42 +16,57 @@ static __device__ float f(float x);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Chaque thread effecteur une reduction intrathread avec le patern d'entrelacement,
|
* Chaque thread effecteur une reduction intrathread avec le patern
|
||||||
* puis stocke son résultat dans SA case dans tabGM
|
* d'entrelacement, puis stocke son résultat dans SA case dans tabGM
|
||||||
*
|
*
|
||||||
* tabGM est un tableau promu, qui a autant de case que de thread
|
* tabGM est un tableau promu, qui a autant de case que de thread
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
__global__ void reductionIntraThreadGM(float* tabGM , int nbSlice)
|
__global__ void reductionIntraThreadGM(float *tabGM, int nbSlice) {
|
||||||
{
|
// TODO SliceGM (idem SliceGMHOST) pour cette partie
|
||||||
// TODO SliceGM (idem SliceGMHOST) pour cette partie
|
const int NB_THREAD = Thread2D::nbThread();
|
||||||
}
|
const int TID = Thread2D::tid();
|
||||||
|
|
||||||
|
const float delta_x = 1.f / (float)nbSlice;
|
||||||
|
|
||||||
|
int s = TID;
|
||||||
|
tabGM[TID] = 0.f;
|
||||||
|
|
||||||
|
while (s < nbSlice) {
|
||||||
|
float xi = s * delta_x;
|
||||||
|
tabGM[TID] += f(xi);
|
||||||
|
|
||||||
|
s += NB_THREAD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <pre>
|
* <pre>
|
||||||
* Effectue la reduction de tabGM cote device, par ecrasement 2 à 2 successif.
|
* Effectue la reduction de tabGM cote device, par ecrasement 2 à 2 successif.
|
||||||
* Ce kernel d ecrasement est appeler depuis le host dans une boucle, avec le bon nombre de thread
|
* Ce kernel d ecrasement est appeler depuis le host dans une boucle, avec le
|
||||||
|
* bon nombre de thread
|
||||||
*
|
*
|
||||||
* Hypothese : |tabGM| est une puissance de 2
|
* Hypothese : |tabGM| est une puissance de 2
|
||||||
*
|
*
|
||||||
* Output: le resultat de la reduction est tans tabGM[0]
|
* Output: le resultat de la reduction est tans tabGM[0]
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
__global__ void ecrasementGM(float* tabGM , int moitier)
|
__global__ void ecrasementGM(float *tabGM, int moitier) {
|
||||||
{
|
// TODO SliceGM
|
||||||
// TODO SliceGM
|
const int TID = Thread2D::tid();
|
||||||
}
|
if (TID < moitier) {
|
||||||
|
tabGM[TID] += tabGM[TID + moitier];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Private *|
|
|* Private *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
__device__ float f(float x)
|
__device__ float f(float x) {
|
||||||
{
|
|
||||||
return 4.f / (1.f + x * x);
|
return 4.f / (1.f + x * x);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#include "SliceGM.h"
|
#include "SliceGM.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
#include "GM.h"
|
#include "GM.h"
|
||||||
#include "Maths.h"
|
|
||||||
#include "Hardware.h"
|
#include "Hardware.h"
|
||||||
#include "Kernel.h"
|
#include "Kernel.h"
|
||||||
|
#include "Maths.h"
|
||||||
|
|
||||||
using std::cout;
|
using std::cout;
|
||||||
using std::endl;
|
using std::endl;
|
||||||
@@ -16,8 +16,8 @@ using std::to_string;
|
|||||||
|* Imported *|
|
|* Imported *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
extern __global__ void reductionIntraThreadGM(float* tabGM,int nbSlice);
|
extern __global__ void reductionIntraThreadGM(float *tabGM, int nbSlice);
|
||||||
extern __global__ void ecrasementGM(float* tabGM, int moitier);
|
extern __global__ void ecrasementGM(float *tabGM, int moitier);
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* Implementation *|
|
|* Implementation *|
|
||||||
@@ -27,21 +27,23 @@ extern __global__ void ecrasementGM(float* tabGM, int moitier);
|
|||||||
|* Constructeur *|
|
|* Constructeur *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
SliceGM::SliceGM(Grid grid , int nbSlice , double* ptrPiHat , bool isVerbose) :
|
SliceGM::SliceGM(Grid grid, int nbSlice, double *ptrPiHat, bool isVerbose)
|
||||||
RunnableGPU(grid, "SliceGM_" + to_string(nbSlice), isVerbose), // classe parente
|
: RunnableGPU(grid, "SliceGM_" + to_string(nbSlice),
|
||||||
//
|
isVerbose), // classe parente
|
||||||
nbSlice(nbSlice), //
|
//
|
||||||
ptrPiHat(ptrPiHat) //
|
nbSlice(nbSlice), //
|
||||||
{
|
ptrPiHat(ptrPiHat) //
|
||||||
this->nTabGM = -1; // TODO SliceGM
|
{
|
||||||
this->sizeTabGM = -1; // TODO SliceGM // [octet]
|
this->nTabGM = grid.threadCounts(); // TODO SliceGM
|
||||||
|
this->sizeTabGM = nTabGM * sizeof(float); // TODO SliceGM // [octet]
|
||||||
|
|
||||||
}
|
GM::malloc(&tabGM, sizeTabGM);
|
||||||
|
}
|
||||||
|
|
||||||
SliceGM::~SliceGM(void)
|
SliceGM::~SliceGM(void) {
|
||||||
{
|
// TODO SliceGM
|
||||||
// TODO SliceGM
|
GM::free(tabGM);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Methode *|
|
|* Methode *|
|
||||||
@@ -54,17 +56,16 @@ SliceGM::~SliceGM(void)
|
|||||||
* Etape 0 : Promotion d'un tableau en GM (MemoryManagement MM)
|
* Etape 0 : Promotion d'un tableau en GM (MemoryManagement MM)
|
||||||
* Etape 1 : Reduction intra-thread dans un tableau promu en GM
|
* Etape 1 : Reduction intra-thread dans un tableau promu en GM
|
||||||
* Etape 2 : Reduction du tableau en GM par ecrasement hierarchique 2 à 2
|
* Etape 2 : Reduction du tableau en GM par ecrasement hierarchique 2 à 2
|
||||||
* On lance les kernels d'ecrasement depuis le host (chef d'orchestre)
|
* On lance les kernels d'ecrasement depuis le host (chef
|
||||||
* Etape 4 : Copy du resultat coter host
|
* d'orchestre) Etape 4 : Copy du resultat coter host Etape 5 : Destruction GM
|
||||||
* Etape 5 : Destruction GM
|
|
||||||
* </pre>
|
* </pre>
|
||||||
*/
|
*/
|
||||||
void SliceGM::run()
|
void SliceGM::run() {
|
||||||
{
|
// TODO SliceGM // call the kernel (asynchrone)
|
||||||
//TODO SliceGM // call the kernel (asynchrone)
|
reductionIntraThreadGM<<<dg, db>>>(tabGM, nbSlice);
|
||||||
|
|
||||||
reductionGM();
|
reductionGM();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Private *|
|
|* Private *|
|
||||||
@@ -75,21 +76,33 @@ void SliceGM::run()
|
|||||||
* Etape 2 : recuperer le resultat coter host
|
* Etape 2 : recuperer le resultat coter host
|
||||||
* Etape 3 : finaliser le calcule de PI
|
* Etape 3 : finaliser le calcule de PI
|
||||||
*/
|
*/
|
||||||
void SliceGM::reductionGM()
|
void SliceGM::reductionGM() {
|
||||||
{
|
int midle = nTabGM >> 1; // nTabGM/2;
|
||||||
int midle = nTabGM >> 1; // nTabGM/2;
|
dim3 dgx(midle, 1, 1);
|
||||||
|
dim3 dbx(1, 1, 1);
|
||||||
|
|
||||||
// TODO SliceGM
|
// TODO SliceGM
|
||||||
|
while (midle >= 1) {
|
||||||
|
ecrasementGM<<<dgx, dbx>>>(tabGM, midle);
|
||||||
|
midle /= 2;
|
||||||
|
dgx.x = midle;
|
||||||
|
}
|
||||||
|
|
||||||
// Warning: Utiliser une autre grille que celle heriter de la classe parente dg, db
|
float result;
|
||||||
// Votre grid ici doit avoir une taille speciale!
|
GM::memcpyDToH_float(&result, tabGM);
|
||||||
// N'utiliser donc pas les variables dg et db de la classe parentes
|
const double delta_x = 1.f / (float)nbSlice;
|
||||||
|
*ptrPiHat = result * delta_x;
|
||||||
|
|
||||||
// Tip: Il y a une methode dedier pour ramener un float cote host
|
// Warning: Utiliser une autre grille que celle heriter de la classe
|
||||||
//
|
// parente dg, db Votre grid ici doit avoir une taille
|
||||||
// float resultat;
|
// speciale! N'utiliser donc pas les variables dg et db de la
|
||||||
// GM::memcpyDToH_float(&resultat,ptrResultGM);
|
// classe parentes
|
||||||
}
|
|
||||||
|
// Tip: Il y a une methode dedier pour ramener un float cote host
|
||||||
|
//
|
||||||
|
// float resultat;
|
||||||
|
// GM::memcpyDToH_float(&resultat,ptrResultGM);
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -1,62 +1,56 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "cudas.h"
|
|
||||||
#include "Grid.h"
|
#include "Grid.h"
|
||||||
#include "RunnableGPU.h"
|
#include "RunnableGPU.h"
|
||||||
|
#include "cudas.h"
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* Declaration *|
|
|* Declaration *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
class SliceGM: public RunnableGPU
|
class SliceGM : public RunnableGPU {
|
||||||
{
|
/*--------------------------------------*\
|
||||||
/*--------------------------------------*\
|
|* Constructor *|
|
||||||
|* Constructor *|
|
\*-------------------------------------*/
|
||||||
\*-------------------------------------*/
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* update piHat
|
||||||
|
* Hyp : nbThread est une puissance de 2
|
||||||
|
*/
|
||||||
|
SliceGM(Grid grid, int nbSlice, double *ptrPiHat, bool isVerbose);
|
||||||
|
|
||||||
/**
|
virtual ~SliceGM();
|
||||||
* update piHat
|
|
||||||
* Hyp : nbThread est une puissance de 2
|
|
||||||
*/
|
|
||||||
SliceGM(Grid grid , int nbSlice , double* ptrPiHat , bool isVerbose);
|
|
||||||
|
|
||||||
virtual ~SliceGM();
|
/*--------------------------------------*\
|
||||||
|
|* Methodes *|
|
||||||
|
\*-------------------------------------*/
|
||||||
|
|
||||||
/*--------------------------------------*\
|
public:
|
||||||
|* Methodes *|
|
/**
|
||||||
\*-------------------------------------*/
|
* override
|
||||||
|
*/
|
||||||
|
virtual void run();
|
||||||
|
|
||||||
public:
|
private:
|
||||||
|
void reductionGM();
|
||||||
|
|
||||||
/**
|
/*--------------------------------------*\
|
||||||
* override
|
|* Attributs *|
|
||||||
*/
|
\*-------------------------------------*/
|
||||||
virtual void run();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Inputs
|
||||||
|
int nbSlice;
|
||||||
|
|
||||||
void reductionGM();
|
// Inputs/Outputs
|
||||||
|
double *ptrPiHat;
|
||||||
|
|
||||||
/*--------------------------------------*\
|
// Tools
|
||||||
|* Attributs *|
|
float *tabGM;
|
||||||
\*-------------------------------------*/
|
size_t sizeTabGM; // [octet]
|
||||||
|
int nTabGM;
|
||||||
private:
|
};
|
||||||
|
|
||||||
// Inputs
|
|
||||||
int nbSlice;
|
|
||||||
|
|
||||||
// Inputs/Outputs
|
|
||||||
double* ptrPiHat;
|
|
||||||
|
|
||||||
// Tools
|
|
||||||
float* tabGM;
|
|
||||||
size_t sizeTabGM; // [octet]
|
|
||||||
int nTabGM;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -1,45 +1,35 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
#include "Couts.h"
|
||||||
#include "Grid.h"
|
#include "Grid.h"
|
||||||
#include "Hardware.h"
|
#include "Hardware.h"
|
||||||
#include "Couts.h"
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* Impelmentation *|
|
|* Impelmentation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
namespace sliceGM
|
namespace sliceGM {
|
||||||
{
|
|
||||||
|
|
||||||
class BestGrid
|
class BestGrid {
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
static Grid get() {
|
||||||
|
const bool IS_CHECK_HEURISTIC = true;
|
||||||
|
|
||||||
static Grid get()
|
const int MP = 64; // Hardware::getMPCount();
|
||||||
{
|
const int CORE_MP = Hardware::getCoreCountMP();
|
||||||
const bool IS_CHECK_HEURISTIC = false;
|
|
||||||
|
|
||||||
const int MP = Hardware::getMPCount();
|
dim3 dg(MP, 1, 1); // power 2 // TODO SliceGM grid
|
||||||
|
dim3 db(CORE_MP, 4, 1); // power 2 // TODO SliceGM grid
|
||||||
|
Grid grid(dg, db, IS_CHECK_HEURISTIC); // all power 2
|
||||||
|
|
||||||
dim3 dg(1, 1, 1); // power 2 // TODO SliceGM grid
|
return grid;
|
||||||
dim3 db(1, 1, 1); // power 2 // TODO SliceGM grid
|
}
|
||||||
Grid grid(dg, db, IS_CHECK_HEURISTIC); // all power 2
|
};
|
||||||
|
} // namespace sliceGM
|
||||||
// to remove once coded
|
|
||||||
{
|
|
||||||
Couts::redln("aie aie aie, your best grid won t build itself");
|
|
||||||
assert(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
return grid;
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -17,16 +17,21 @@ static __device__ float f(float x);
|
|||||||
|* Implementation *|
|
|* Implementation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
__global__ void sliceSM(int nbSlice , float* ptrPiHatGM)
|
__global__
|
||||||
{
|
void sliceSM(int nbSlice , float* ptrPiHatGM) {
|
||||||
// TODO SliceSM
|
// TODO SliceSM
|
||||||
|
|
||||||
// Reception tabSM
|
// Reception tabSM
|
||||||
|
extern __shared__ float tabSM[];
|
||||||
// ReductionIntraThread
|
// ReductionIntraThread
|
||||||
|
reductionIntraThread(tabSM, nbSlice);
|
||||||
|
__syncthreads();
|
||||||
// Reduction de tabSM (use tools ReductionAdd)
|
// Reduction de tabSM (use tools ReductionAdd)
|
||||||
|
ReductionAdd::reduce(tabSM, ptrPiHatGM);
|
||||||
|
|
||||||
|
|
||||||
// __syncthreads(); necessaire? ou? pas a la fin en tout cas
|
// __syncthreads(); necessaire? ou? pas a la fin en tout cas
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Private *|
|
|* Private *|
|
||||||
@@ -35,19 +40,33 @@ __global__ void sliceSM(int nbSlice , float* ptrPiHatGM)
|
|||||||
/**
|
/**
|
||||||
* remplit la sm
|
* remplit la sm
|
||||||
*/
|
*/
|
||||||
void reductionIntraThread(float* tabSM , int nbSlice)
|
static
|
||||||
{
|
__device__
|
||||||
|
void reductionIntraThread(float* tabSM , int nbSlice) {
|
||||||
// TODO SliceSM
|
// TODO SliceSM
|
||||||
|
|
||||||
// Warning: Il faut employer TID et TID_LOCAL
|
// Warning: Il faut employer TID et TID_LOCAL
|
||||||
}
|
const int TID = Thread2D::tid();
|
||||||
|
const int localTID = Thread2D::tidLocal();
|
||||||
|
const int NB_THREAD = Thread2D::nbThread();
|
||||||
|
|
||||||
__device__ float f(float x)
|
const float delta_x = 1.f / (float)nbSlice;
|
||||||
{
|
|
||||||
return 4.f / (1.f + x * x);
|
int s = TID;
|
||||||
|
tabSM[localTID] = 0.f;
|
||||||
|
|
||||||
|
while (s < nbSlice) {
|
||||||
|
float xi = s * delta_x;
|
||||||
|
tabSM[localTID] += f(xi);
|
||||||
|
s += NB_THREAD;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
__device__
|
||||||
|
float f(float x) {
|
||||||
|
return 4.f / (1.f + x * x);
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -25,34 +25,31 @@ extern __global__ void sliceSM(int nbSlice,float* ptrPiHatGM);
|
|||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
SliceSM::SliceSM(const Grid& grid , int nbSlice , double* ptrPiHat , bool isVerbose) :
|
SliceSM::SliceSM(const Grid& grid , int nbSlice , double* ptrPiHat , bool isVerbose) :
|
||||||
RunnableGPU(grid, "SliceSM_" + to_string(nbSlice), isVerbose), // classe parente
|
RunnableGPU(grid, "SliceSM_" + to_string(nbSlice), isVerbose),
|
||||||
//
|
ptrPiHat(ptrPiHat),
|
||||||
ptrPiHat(ptrPiHat), //
|
nbSlice(nbSlice) {
|
||||||
nbSlice(nbSlice) //
|
this->sizeSM = grid.threadByBlock() * sizeof(float); //TODO SliceSM
|
||||||
{
|
|
||||||
this->sizeSM = -1; //TODO SliceSM
|
|
||||||
|
|
||||||
// MM
|
// MM
|
||||||
{
|
{
|
||||||
// TODO SliceSM (pas oublier de mettre a zero, avec mallocfloat0 par exemple)
|
// TODO SliceSM (pas oublier de mettre a zero, avec mallocfloat0 par exemple)
|
||||||
|
GM::mallocFloat0(&ptrPiHatGM);
|
||||||
// Tip: Il y a une methode dedier pour malloquer un float cote device et l'initialiser a zero
|
// Tip: Il y a une methode dedier pour malloquer un float cote device et l'initialiser a zero
|
||||||
//
|
//
|
||||||
// GM::mallocfloat0(&ptrPiHatGM);
|
// GM::mallocfloat0(&ptrPiHatGM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SliceSM::~SliceSM(void)
|
SliceSM::~SliceSM(void) {
|
||||||
{
|
|
||||||
//TODO SliceSM
|
//TODO SliceSM
|
||||||
}
|
GM::free(ptrPiHatGM);
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Methode *|
|
|* Methode *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
void SliceSM::run()
|
void SliceSM::run() {
|
||||||
{
|
|
||||||
// Etape 1 : lancer le kernel
|
// Etape 1 : lancer le kernel
|
||||||
// Etape 2 : recuperer le resultat coter host (par exemple avec memcpyDToH_float)
|
// Etape 2 : recuperer le resultat coter host (par exemple avec memcpyDToH_float)
|
||||||
// Etape 3 : finaliser le calcul de PI
|
// Etape 3 : finaliser le calcul de PI
|
||||||
@@ -60,7 +57,12 @@ void SliceSM::run()
|
|||||||
// Solution : double result; // et ramener dans result, transferer et finaliser ensuite dans ptrPiHat
|
// Solution : double result; // et ramener dans result, transferer et finaliser ensuite dans ptrPiHat
|
||||||
|
|
||||||
// TODO SliceSM
|
// TODO SliceSM
|
||||||
}
|
sliceSM<<<dg,db,this->sizeSM>>>(this->nbSlice, this->ptrPiHatGM);
|
||||||
|
float result;
|
||||||
|
GM::memcpyDToH_float(&result, this->ptrPiHatGM);
|
||||||
|
const double delta_x = 1.0 / (double) this->nbSlice;
|
||||||
|
*this->ptrPiHat = (double) result * delta_x;
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
// Rappel:
|
// Rappel:
|
||||||
|
|||||||
@@ -8,8 +8,7 @@
|
|||||||
|* Declaration *|
|
|* Declaration *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
class SliceSM: public RunnableGPU
|
class SliceSM: public RunnableGPU {
|
||||||
{
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Constructor *|
|
|* Constructor *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
@@ -51,7 +50,7 @@ class SliceSM: public RunnableGPU
|
|||||||
size_t sizeSM; // [octet]
|
size_t sizeSM; // [octet]
|
||||||
float* ptrPiHatGM;
|
float* ptrPiHatGM;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -11,29 +11,26 @@
|
|||||||
|* Impelmentation *|
|
|* Impelmentation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
namespace sliceSM
|
namespace sliceSM {
|
||||||
{
|
|
||||||
|
|
||||||
class BestGrid
|
class BestGrid {
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static Grid get()
|
static Grid get() {
|
||||||
{
|
const int MP = Hardware::getMPCount();
|
||||||
const int MP = Hardware::getMPCount();
|
const int CORE_MP = Hardware::getCoreCountMP();
|
||||||
|
|
||||||
// TODO SliceGMHOST grid
|
// TODO SliceGMHOST grid
|
||||||
|
dim3 dg(MP, 6, 1);
|
||||||
|
dim3 db(CORE_MP, 2, 1);
|
||||||
|
Grid grid(dg, db);
|
||||||
|
|
||||||
// to remove once coded
|
return grid;
|
||||||
{
|
|
||||||
Couts::redln("aie aie aie, your best grid won t build itself");
|
|
||||||
assert(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ int main(int argc , char** argv)
|
|||||||
|
|
||||||
// public
|
// public
|
||||||
{
|
{
|
||||||
cudaContext.deviceId = 0; // in [0,2] width Server Cuda3
|
cudaContext.deviceId = 1; // in [0,2] width Server Cuda3
|
||||||
cudaContext.launchMode = LaunchModeMOO::USE; // USE TEST BENCHMARK FORCEBRUT
|
cudaContext.launchMode = LaunchModeMOO::TEST; // USE TEST BENCHMARK FORCEBRUT
|
||||||
|
|
||||||
cudaContext.deviceDriver = DeviceDriver::LOAD_ALL; // LOAD_CURRENT LOAD_ALL
|
cudaContext.deviceDriver = DeviceDriver::LOAD_ALL; // LOAD_CURRENT LOAD_ALL
|
||||||
cudaContext.deviceInfo = DeviceInfo::ALL_SIMPLE; // NONE ALL ALL_SIMPLE CURRENT
|
cudaContext.deviceInfo = DeviceInfo::ALL_SIMPLE; // NONE ALL ALL_SIMPLE CURRENT
|
||||||
@@ -49,4 +49,3 @@ int main(int argc , char** argv)
|
|||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ using std::endl;
|
|||||||
|
|
||||||
static void sliceGMHOST();
|
static void sliceGMHOST();
|
||||||
static void sliceGM();
|
static void sliceGM();
|
||||||
|
static void sliceSM();
|
||||||
|
|
||||||
|
|
||||||
static void montecarloMono();
|
static void montecarloMono();
|
||||||
@@ -58,9 +59,9 @@ int mainBenchmark()
|
|||||||
|
|
||||||
// Slice
|
// Slice
|
||||||
{
|
{
|
||||||
sliceGMHOST();
|
// sliceGMHOST();
|
||||||
//sliceGM();
|
// sliceGM();
|
||||||
//sliceSM();
|
sliceSM();
|
||||||
//sliceMulti();
|
//sliceMulti();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,4 +183,3 @@ void addvectorTristream()
|
|||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -74,9 +74,9 @@ int mainBrutforce()
|
|||||||
|
|
||||||
// Slice
|
// Slice
|
||||||
{
|
{
|
||||||
sliceGMHOST(&matlab);
|
// sliceGMHOST(&matlab);
|
||||||
// sliceGM(&matlab);
|
// sliceGM(&matlab);
|
||||||
// sliceSM(&matlab);
|
sliceSM(&matlab);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Montecarlo
|
// Montecarlo
|
||||||
@@ -374,4 +374,3 @@ void bruteforce(ProviderUse_I* ptrProviderUse , Matlab* ptrMatlab , const PlotTy
|
|||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -52,17 +52,16 @@ int mainTest()
|
|||||||
/**
|
/**
|
||||||
* activer ci-dessous la version souhaiter
|
* activer ci-dessous la version souhaiter
|
||||||
*/
|
*/
|
||||||
void slice()
|
void slice() {
|
||||||
{
|
|
||||||
VTSliceGMHOST test1;
|
VTSliceGMHOST test1;
|
||||||
VTSliceGM test2;
|
VTSliceGM test2;
|
||||||
VTSliceSM test3;
|
VTSliceSM test3;
|
||||||
|
|
||||||
|
|
||||||
test1.run();
|
test1.run();
|
||||||
// test2.run();
|
test2.run();
|
||||||
// test3.run();
|
test3.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* activer ci-dessous la version souhaiter
|
* activer ci-dessous la version souhaiter
|
||||||
@@ -96,4 +95,3 @@ void vectorStream()
|
|||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ void slice(bool& isOk)
|
|||||||
SliceSmUse sliceSmUse(IS_VERBOSE);
|
SliceSmUse sliceSmUse(IS_VERBOSE);
|
||||||
|
|
||||||
isOk &= sliceGmHostUse.isOk(IS_VERBOSE);
|
isOk &= sliceGmHostUse.isOk(IS_VERBOSE);
|
||||||
// isOk &= sliceGmUse.isOk(IS_VERBOSE);
|
isOk &= sliceGmUse.isOk(IS_VERBOSE);
|
||||||
// isOk &= sliceSmUse.isOk(IS_VERBOSE);
|
isOk &= sliceSmUse.isOk(IS_VERBOSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -213,4 +213,3 @@ void print(bool isSuccess)
|
|||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/device/math/MandelbrotMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/device/math/MandelbrotMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/device/math/RaytracingMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/device/math/RaytracingMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/device/math/RipplingMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/device/math/RipplingMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/src/core/scene/SceneCubeCreator.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/real_mandelbrot.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_3D_Cube/../Student_Cuda_Image/src/core/01_student/02_Mandelbrot/real_mandelbrot.h
|
||||||
7
Student_Cuda_Image/.clangd
Normal file
7
Student_Cuda_Image/.clangd
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
CompileFlags:
|
||||||
|
Add:
|
||||||
|
- "-I/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/INC_SYMLINK/EXT"
|
||||||
|
- "-I/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/INC_SYMLINK/PROJECT"
|
||||||
|
---
|
||||||
|
Diagnostics:
|
||||||
|
Suppress: "*"
|
||||||
17
Student_Cuda_Image/.zed/tasks.json
Normal file
17
Student_Cuda_Image/.zed/tasks.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
// Project tasks configuration. See https://zed.dev/docs/tasks for documentation.
|
||||||
|
//
|
||||||
|
// Example:
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"label": "Run",
|
||||||
|
"command": "cbicc cuda clean jall runGL",
|
||||||
|
"use_new_terminal": false,
|
||||||
|
"allow_concurrent_runs": false,
|
||||||
|
"reveal": "always",
|
||||||
|
"reveal_target": "dock",
|
||||||
|
"hide": "never",
|
||||||
|
"shell": "system",
|
||||||
|
"show_summary": true,
|
||||||
|
"show_command": true
|
||||||
|
}
|
||||||
|
]
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/device/math/MandelbrotMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/device/math/MandelbrotMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/host/Mandelbrot_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/device/math/RaytracingMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/device/math/RaytracingMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/03_RayTracing/host/Raytracing_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/device/math/RipplingMath.cu.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/device/math/RipplingMath.cu.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling_BestGrid.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/01_Rippling/host/Rippling_BestGrid.h
|
||||||
@@ -1 +1 @@
|
|||||||
/home/bilat/CBI/Dropbox/02_CBI_LINUX/CoursCuda/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/real_mandelbrot.h
|
/home/mse15/CUDA/toStudent/code/WCudaStudent/Student_Cuda_Image/src/core/01_student/02_Mandelbrot/real_mandelbrot.h
|
||||||
140
Student_Cuda_Image/out/Mandelbrot_fp16_justesse.html
Normal file
140
Student_Cuda_Image/out/Mandelbrot_fp16_justesse.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>Mandelbrot_fp16_justesse </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>Mandelbrot_fp16_justesse </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">2.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestImageCuda">TestImageCuda</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">2.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestImageCuda"></a>Suite: TestImageCuda</h3>
|
||||||
|
<table summary="Details for suite TestImageCuda" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">allTests</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">2.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda_Image/out/Mandelbrot_fp16_performance.html
Normal file
140
Student_Cuda_Image/out/Mandelbrot_fp16_performance.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>Mandelbrot_fp16_performance </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>Mandelbrot_fp16_performance </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">12.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestPerformance_RunnableGPU_A">TestPerformance_RunnableGPU_A</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">12.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestPerformance_RunnableGPU_A"></a>Suite: TestPerformance_RunnableGPU_A</h3>
|
||||||
|
<table summary="Details for suite TestPerformance_RunnableGPU_A" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">performanceOnly</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">12.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda_Image/out/Rippling_justesse.html
Normal file
140
Student_Cuda_Image/out/Rippling_justesse.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>Rippling_justesse </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>Rippling_justesse </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestImageCuda">TestImageCuda</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestImageCuda"></a>Suite: TestImageCuda</h3>
|
||||||
|
<table summary="Details for suite TestImageCuda" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">allTests</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">1.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
140
Student_Cuda_Image/out/Rippling_performance.html
Normal file
140
Student_Cuda_Image/out/Rippling_performance.html
Normal file
@@ -0,0 +1,140 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||||
|
<meta name="generator" content="CppTest - https://github.com/cpptest/cpptest" />
|
||||||
|
|
||||||
|
<title>Rippling_performance </title>
|
||||||
|
|
||||||
|
<style type="text/css" media="screen">
|
||||||
|
<!--
|
||||||
|
hr {
|
||||||
|
width: 100%;
|
||||||
|
border-width: 0px;
|
||||||
|
height: 1px;
|
||||||
|
color: #cccccc;
|
||||||
|
background-color: #cccccc;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width:100%;
|
||||||
|
border-collapse:separate;
|
||||||
|
border-spacing: 2px;
|
||||||
|
border:0px;
|
||||||
|
}
|
||||||
|
tr {
|
||||||
|
margin:0px;
|
||||||
|
padding:0px;
|
||||||
|
}
|
||||||
|
td {
|
||||||
|
margin:0px;
|
||||||
|
padding:1px;
|
||||||
|
}
|
||||||
|
.table_summary {
|
||||||
|
}
|
||||||
|
.table_suites {
|
||||||
|
}
|
||||||
|
.table_suite {
|
||||||
|
}
|
||||||
|
.table_result {
|
||||||
|
margin: 0px 0px 1em 0px;
|
||||||
|
}
|
||||||
|
.tablecell_title {
|
||||||
|
background-color: #a5cef7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_success {
|
||||||
|
background-color: #efefe7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablecell_error {
|
||||||
|
color: #ff0808;
|
||||||
|
background-color: #efefe7;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
p.spaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 1em 0px 2em 0px;
|
||||||
|
}
|
||||||
|
p.unspaced {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px 0px 2em 0px;
|
||||||
|
}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1><a name="top"></a>Rippling_performance </h1>
|
||||||
|
|
||||||
|
<div style="text-align:right">
|
||||||
|
Designed by <a href="https://github.com/cpptest/cpptest">CppTest</a>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Summary</h2>
|
||||||
|
<table summary="Summary of test results" class="table_summary">
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:30%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td style="width:30%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:30%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">16.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h2>Test suites</h2>
|
||||||
|
<table summary="Test Suites" class="table_suites">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Tests</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success"><a href="#TestPerformance_RunnableGPU_A">TestPerformance_RunnableGPU_A</a></td>
|
||||||
|
<td style="width:10%" class="tablecell_success">1</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">0</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">100%</td>
|
||||||
|
<td style="width:10%" class="tablecell_success">16.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<h3><a name="TestPerformance_RunnableGPU_A"></a>Suite: TestPerformance_RunnableGPU_A</h3>
|
||||||
|
<table summary="Details for suite TestPerformance_RunnableGPU_A" class="table_suite">
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_title">Name</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Errors</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Success</td>
|
||||||
|
<td style="width:10%" class="tablecell_title">Time (s)</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="tablecell_success">performanceOnly</td>
|
||||||
|
<td class="tablecell_success">0</td>
|
||||||
|
<td class="tablecell_success">true</td>
|
||||||
|
<td class="tablecell_success">16.000000</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<p class="spaced"><a href="#top">Back to top</a>
|
||||||
|
</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="http://validator.w3.org/#validate-by-upload">
|
||||||
|
Valid XHTML 1.0 Strict
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
@@ -0,0 +1,10 @@
|
|||||||
|
68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68
|
||||||
|
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136
|
||||||
|
204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204
|
||||||
|
272,272,272,272,272,272,272,272,272,272,272,272,272,272,272,272
|
||||||
|
340,340,340,340,340,340,340,340,340,340,340,340,340,340,340,340
|
||||||
|
408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408
|
||||||
|
476,476,476,476,476,476,476,476,476,476,476,476,476,476,476,476
|
||||||
|
544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544
|
||||||
|
612,612,612,612,612,612,612,612,612,612,612,612,612,612,612,612
|
||||||
|
680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680
|
||||||
|
@@ -0,0 +1,10 @@
|
|||||||
|
11261,21977,27704,28654,28277,28547,28629,28404,28310,28099,28086,28083,27716,27519,27791,28011
|
||||||
|
19038,28186,28672,29112,28426,28273,28146,28144,27978,27624,27759,27741,27325,27066,27341,27544
|
||||||
|
27172,28378,27808,28260,28006,28038,27917,27990,27496,27172,27343,27313,26925,26740,26918,27046
|
||||||
|
27677,28301,27408,28080,27452,27837,27162,27780,27046,26611,26934,26825,26609,26218,26593,26529
|
||||||
|
27585,27504,27616,27705,27863,27826,27102,27073,26633,26380,26509,26507,26361,25949,26339,26248
|
||||||
|
26661,27570,27783,28103,27632,27613,27589,27606,26069,25936,26088,26036,26011,25575,25894,25830
|
||||||
|
27632,27463,27391,27489,27242,27606,27584,26880,25818,25521,25840,25693,25640,25316,25482,25309
|
||||||
|
27657,27392,27302,27627,27038,27244,26594,27163,25196,24997,25035,25023,24712,24685,24668,24540
|
||||||
|
25842,24673,26280,26057,26492,25605,26130,25341,24431,23305,24874,23801,24877,23471,24577,23293
|
||||||
|
23284,25709,25062,26164,25511,27316,25176,24768,23921,22530,23529,22545,23692,22471,24333,22815
|
||||||
|
@@ -0,0 +1,10 @@
|
|||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
64,128,192,256,320,384,448,512,576,640,704,768,832,896,960,1024
|
||||||
|
@@ -0,0 +1,10 @@
|
|||||||
|
68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68
|
||||||
|
136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136
|
||||||
|
204,204,204,204,204,204,204,204,204,204,204,204,204,204,204,204
|
||||||
|
272,272,272,272,272,272,272,272,272,272,272,272,272,272,272,272
|
||||||
|
340,340,340,340,340,340,340,340,340,340,340,340,340,340,340,340
|
||||||
|
408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408
|
||||||
|
476,476,476,476,476,476,476,476,476,476,476,476,476,476,476,476
|
||||||
|
544,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544
|
||||||
|
612,612,612,612,612,612,612,612,612,612,612,612,612,612,612,612
|
||||||
|
680,680,680,680,680,680,680,680,680,680,680,680,680,680,680,680
|
||||||
|
@@ -0,0 +1,10 @@
|
|||||||
|
144555,220822,213172,232589,222368,222022,221525,218740,215112,220198,212562,211353,203128,207854,210719,208961
|
||||||
|
178200,227914,225423,225667,225283,223689,214874,217351,189550,187027,176077,174967,175908,173784,170924,182629
|
||||||
|
212976,225907,222606,224129,213339,213864,204105,204116,170180,174156,180857,200021,186592,189103,180464,178768
|
||||||
|
220934,223204,216938,218089,214767,210852,205644,204681,182606,186172,175972,178235,171769,171199,162172,162394
|
||||||
|
212311,227349,214553,217104,211690,204241,202456,209851,166727,167536,161323,164796,154234,155004,147491,147138
|
||||||
|
198643,222201,217982,217089,212032,203211,198104,196038,154107,155668,149685,148698,142482,142935,134505,133011
|
||||||
|
216171,220305,209239,214638,200728,193354,184005,187582,144618,145480,136990,136957,131445,130896,123050,125646
|
||||||
|
209897,217355,213187,210719,199503,185380,179740,178260,132461,134694,129448,129059,121525,123736,116539,123906
|
||||||
|
206870,215563,213613,212218,194167,175278,170315,167466,125147,125812,119401,120362,114225,119599,114065,119403
|
||||||
|
205266,207631,213265,202704,185616,170020,163365,159203,116459,118558,112154,116339,113771,115710,113130,115851
|
||||||
|
@@ -13,26 +13,24 @@
|
|||||||
|* Public *|
|
|* Public *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
class RipplingMath
|
class RipplingMath {
|
||||||
{
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Constructeur *|
|
|* Constructeur *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
__device__ RipplingMath(uint w , uint h , float t) :
|
__device__
|
||||||
|
RipplingMath(uint w , uint h , float t) :
|
||||||
dim2(w / 2), //
|
dim2(w / 2), //
|
||||||
t(t)
|
t(t) {
|
||||||
{
|
// rien
|
||||||
// rien
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__device__
|
__device__
|
||||||
virtual ~RipplingMath()
|
virtual ~RipplingMath() {
|
||||||
{
|
|
||||||
// rien
|
// rien
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Methode *|
|
|* Methode *|
|
||||||
@@ -41,8 +39,7 @@ class RipplingMath
|
|||||||
public:
|
public:
|
||||||
|
|
||||||
__device__
|
__device__
|
||||||
void colorIJ(uchar4* ptrColorIJ , int i , int j)
|
void colorIJ(uchar4* ptrColorIJ , int i , int j) {
|
||||||
{
|
|
||||||
uchar levelGris = levelGray(i, j); // update levelGris
|
uchar levelGris = levelGray(i, j); // update levelGris
|
||||||
|
|
||||||
ptrColorIJ->x = levelGris;
|
ptrColorIJ->x = levelGris;
|
||||||
@@ -58,13 +55,13 @@ class RipplingMath
|
|||||||
// Etape 2: Puis une fois que l'image grise est valider, attaquer rippling
|
// Etape 2: Puis une fois que l'image grise est valider, attaquer rippling
|
||||||
|
|
||||||
// debug temp
|
// debug temp
|
||||||
// {
|
// {
|
||||||
// ptrColorIJ->x = 128;
|
// ptrColorIJ->x = 128;
|
||||||
// ptrColorIJ->y = 128;
|
// ptrColorIJ->y = 128;
|
||||||
// ptrColorIJ->z = 128;
|
// ptrColorIJ->z = 128;
|
||||||
// ptrColorIJ->w = 255; // opacity facultatif
|
// ptrColorIJ->w = 255; // opacity facultatif
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
@@ -74,24 +71,31 @@ class RipplingMath
|
|||||||
|
|
||||||
__inline__
|
__inline__
|
||||||
__device__
|
__device__
|
||||||
uchar levelGray(int i , int j )
|
uchar levelGray(int i , int j ) {
|
||||||
{
|
|
||||||
float result;
|
float result;
|
||||||
dij(i, j, &result); // warning : dij return void. Ne peut pas etre "imbriquer dans une fonction"
|
dij(i, j, &result); // warning : dij return void. Ne peut pas etre "imbriquer dans une fonction"
|
||||||
|
|
||||||
|
|
||||||
result = result / 10.f;
|
result = result / 10.f;
|
||||||
|
|
||||||
|
result = 128.f + 127.f * cosf(result - (t / 7.f)) / (result + 1.f);
|
||||||
|
return (uchar)result;
|
||||||
// TODO Rippling GPU : cf formules math rippling.pdf (attribut dim2 = dim/2
|
// TODO Rippling GPU : cf formules math rippling.pdf (attribut dim2 = dim/2
|
||||||
}
|
}
|
||||||
|
|
||||||
__inline__
|
__inline__
|
||||||
__device__
|
__device__
|
||||||
void dij(int i , int j , float* ptrResult)
|
void dij(int i , int j , float* ptrResult) {
|
||||||
{
|
|
||||||
//TODO Rippling GPU cf fonction math pdf
|
//TODO Rippling GPU cf fonction math pdf
|
||||||
|
|
||||||
|
float fi = i - dim2;
|
||||||
|
float fj = j - dim2;
|
||||||
|
float d = sqrtf(fi * fi + fj * fj);
|
||||||
|
*ptrResult = d;
|
||||||
|
|
||||||
// Ne pas utiliser la fonction pow pour elever au carrer !
|
// Ne pas utiliser la fonction pow pour elever au carrer !
|
||||||
// Utiliser l'opérateur *
|
// Utiliser l'opérateur *
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Attribut *|
|
|* Attribut *|
|
||||||
@@ -103,7 +107,7 @@ class RipplingMath
|
|||||||
int dim2; // dim2=dim/2
|
int dim2; // dim2=dim/2
|
||||||
float t;
|
float t;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -18,12 +18,11 @@ static __device__ void ripplingQuart(uchar4* tabPixelsGM , uint w , uint h , flo
|
|||||||
|* Implementation *|
|
|* Implementation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
__global__ void rippling(uchar4* tabPixelsGM , uint w , uint h , float t)
|
__global__ void rippling(uchar4* tabPixelsGM , uint w , uint h , float t) {
|
||||||
{
|
// ripplingBaseline(tabPixelsGM, w, h, t);
|
||||||
ripplingBaseline(tabPixelsGM, w, h, t);
|
ripplingDemi(tabPixelsGM, w, h, t);
|
||||||
// ripplingDemi(tabPixelsGM, w, h, t);
|
|
||||||
// ripplingQuart(tabPixelsGM, w, h, t);
|
// ripplingQuart(tabPixelsGM, w, h, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* private *|
|
|* private *|
|
||||||
@@ -33,23 +32,36 @@ __global__ void rippling(uchar4* tabPixelsGM , uint w , uint h , float t)
|
|||||||
* v1
|
* v1
|
||||||
*/
|
*/
|
||||||
__inline__
|
__inline__
|
||||||
__device__ void ripplingBaseline(uchar4* tabPixelsGM , uint w , uint h , float t)
|
__device__
|
||||||
{
|
void ripplingBaseline(uchar4* tabPixelsGM , uint w , uint h , float t) {
|
||||||
// TODO instacier RipplingMath
|
// TODO instacier RipplingMath
|
||||||
|
RipplingMath rgM = RipplingMath(w, h, t);
|
||||||
|
|
||||||
const int TID = Thread2D::tid();
|
const int TID = Thread2D::tid();
|
||||||
const int NB_THREAD = Thread2D::nbThread();
|
const int NB_THREAD = Thread2D::nbThread();
|
||||||
const int WH = w * h;
|
const int WH = w * h;
|
||||||
|
|
||||||
// TODO Rippling GPU pattern entrelacement
|
// TODO Rippling GPU pattern entrelacement
|
||||||
|
|
||||||
|
int s = TID;
|
||||||
|
|
||||||
|
while(s < WH) {
|
||||||
|
int i = s / w;
|
||||||
|
int j = s % w;
|
||||||
|
uchar4 color;
|
||||||
|
rgM.colorIJ(&color, i, j);
|
||||||
|
tabPixelsGM[s] = color;
|
||||||
|
s += NB_THREAD;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* v2 : optimisation
|
* v2 : optimisation
|
||||||
*/
|
*/
|
||||||
__inline__
|
__inline__
|
||||||
__device__ void ripplingDemi(uchar4* tabPixelsGM , uint w , uint h , float t)
|
__device__
|
||||||
{
|
void ripplingDemi(uchar4* tabPixelsGM , uint w , uint h , float t) {
|
||||||
// Indication:
|
// Indication:
|
||||||
// (I1) Utiliser la symetrie horizontale de l'image
|
// (I1) Utiliser la symetrie horizontale de l'image
|
||||||
// (I2) Calculer que la demi partie superieur
|
// (I2) Calculer que la demi partie superieur
|
||||||
@@ -57,14 +69,36 @@ __device__ void ripplingDemi(uchar4* tabPixelsGM , uint w , uint h , float t)
|
|||||||
// Partez de la fin de l'image, peut-etre
|
// Partez de la fin de l'image, peut-etre
|
||||||
|
|
||||||
// TODO Rippling GPU
|
// TODO Rippling GPU
|
||||||
|
|
||||||
|
RipplingMath rgM = RipplingMath(w, h, t);
|
||||||
|
|
||||||
|
const int TID = Thread2D::tid();
|
||||||
|
const int NB_THREAD = Thread2D::nbThread();
|
||||||
|
const int WH = w * h;
|
||||||
|
const int WH2 = (WH / 2) + 1;
|
||||||
|
int s = TID;
|
||||||
|
|
||||||
|
while(s < WH2) {
|
||||||
|
int i = s / w;
|
||||||
|
int j = s % w;
|
||||||
|
uchar4 color;
|
||||||
|
rgM.colorIJ(&color, i, j);
|
||||||
|
tabPixelsGM[s] = color;
|
||||||
|
|
||||||
|
// Miroir
|
||||||
|
int si = WH - s - 1;
|
||||||
|
tabPixelsGM[si] = color;
|
||||||
|
|
||||||
|
s += NB_THREAD;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* v3 : optimsation : defi (difficile) (pas necessaire pour test performance)
|
* v3 : optimsation : defi (difficile) (pas necessaire pour test performance)
|
||||||
*/
|
*/
|
||||||
__inline__
|
__inline__
|
||||||
__device__ void ripplingQuart(uchar4* tabPixelsGM , uint w , uint h , float t)
|
__device__
|
||||||
{
|
void ripplingQuart(uchar4* tabPixelsGM , uint w , uint h , float t) {
|
||||||
// Indication:
|
// Indication:
|
||||||
// (I1) Utiliser la symetrie horizontale et verticale de l'image
|
// (I1) Utiliser la symetrie horizontale et verticale de l'image
|
||||||
// (I2) Calculer que le quart en huat a gauche
|
// (I2) Calculer que le quart en huat a gauche
|
||||||
@@ -76,9 +110,8 @@ __device__ void ripplingQuart(uchar4* tabPixelsGM , uint w , uint h , float t)
|
|||||||
// (C1) Utiliser toujours le pattern d'entrelacement
|
// (C1) Utiliser toujours le pattern d'entrelacement
|
||||||
|
|
||||||
// TODO Rippling GPU
|
// TODO Rippling GPU
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -24,19 +24,17 @@ extern __global__ void rippling(uchar4* tabPixelsGM,uint w, uint h,float t);
|
|||||||
\*-------------------------*/
|
\*-------------------------*/
|
||||||
|
|
||||||
Rippling::Rippling(const Grid& grid , uint w , uint h , float dt , bool isVerbose) :
|
Rippling::Rippling(const Grid& grid , uint w , uint h , float dt , bool isVerbose) :
|
||||||
Animable_I<uchar4>(grid, w, h, "Rippling-Cuda-uchar4", isVerbose) // super classe
|
Animable_I<uchar4>(grid, w, h, "Rippling-Cuda-uchar4", isVerbose) { // super classe
|
||||||
{
|
|
||||||
assert(w == h); // specific rippling
|
assert(w == h); // specific rippling
|
||||||
|
|
||||||
// Animation
|
// Animation
|
||||||
this->dt = dt;
|
this->dt = dt;
|
||||||
this->t = 0; // protected dans Animable
|
this->t = 0; // protected dans Animable
|
||||||
}
|
}
|
||||||
|
|
||||||
Rippling::~Rippling()
|
Rippling::~Rippling() {
|
||||||
{
|
|
||||||
// rien
|
// rien
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------*\
|
/*-------------------------*\
|
||||||
|* Methode *|
|
|* Methode *|
|
||||||
@@ -48,25 +46,22 @@ Rippling::~Rippling()
|
|||||||
*
|
*
|
||||||
* Note : domaineMath pas use car image pas zoomable
|
* Note : domaineMath pas use car image pas zoomable
|
||||||
*/
|
*/
|
||||||
void Rippling::process(uchar4* tabPixelsGM , uint w , uint h , const DomaineMath& domaineMath)
|
void Rippling::process(uchar4* tabPixelsGM , uint w , uint h , const DomaineMath& domaineMath) {
|
||||||
{
|
|
||||||
// TODO Rippling
|
// TODO Rippling
|
||||||
// lancer le kernel avec <<<dg,db>>>
|
// lancer le kernel avec <<<dg,db>>>
|
||||||
// le kernel est importer ci-dessus (ligne 19)
|
// le kernel est importer ci-dessus (ligne 19)
|
||||||
|
|
||||||
assert(false); // to delete once implement
|
rippling<<<dg,db>>>(tabPixelsGM,w,h,t);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Override
|
* Override
|
||||||
* Call periodicly by the API
|
* Call periodicly by the API
|
||||||
*/
|
*/
|
||||||
void Rippling::animationStep()
|
void Rippling::animationStep() {
|
||||||
{
|
|
||||||
t += dt;
|
t += dt;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,7 @@
|
|||||||
|* Declaration *|
|
|* Declaration *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
class Rippling: public Animable_I<uchar4>
|
class Rippling: public Animable_I<uchar4> {
|
||||||
{
|
|
||||||
/*--------------------------------------*\
|
/*--------------------------------------*\
|
||||||
|* Constructor *|
|
|* Constructor *|
|
||||||
\*-------------------------------------*/
|
\*-------------------------------------*/
|
||||||
@@ -50,7 +49,7 @@ class Rippling: public Animable_I<uchar4>
|
|||||||
// Inputs
|
// Inputs
|
||||||
float dt;
|
float dt;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
@@ -11,30 +11,27 @@
|
|||||||
|* Impelmentation *|
|
|* Impelmentation *|
|
||||||
\*---------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------*/
|
||||||
|
|
||||||
namespace rippling
|
namespace rippling {
|
||||||
{
|
|
||||||
|
|
||||||
class BestGrid
|
class BestGrid {
|
||||||
{
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
static Grid get()
|
static Grid get() {
|
||||||
{
|
const int MP = Hardware::getMPCount();
|
||||||
const int MP = Hardware::getMPCount();
|
const int CORE_MP = Hardware::getCoreCountMP();
|
||||||
const int CORE_MP = Hardware::getCoreCountMP();
|
|
||||||
|
|
||||||
// TODO Rippling
|
// TODO Rippling
|
||||||
|
dim3 dg(MP, 1, 1);
|
||||||
|
dim3 db(CORE_MP, 4, 1);
|
||||||
|
Grid grid(dg, db);
|
||||||
|
|
||||||
|
return grid;
|
||||||
|
|
||||||
// to remove once coded
|
|
||||||
{
|
|
||||||
Couts::redln("aie aie aie, your best grid won t build itself");
|
|
||||||
assert(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------*\
|
/*----------------------------------------------------------------------*\
|
||||||
|* End *|
|
|* End *|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user