Disabled external gits
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Copyright (c) 2005-2020 Intel Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Common Makefile that builds and runs example.
|
||||
|
||||
# Just specify your program basename
|
||||
PROG=Seismic
|
||||
ARGS=auto 0
|
||||
PERF_RUN_ARGS=auto 10000 silent
|
||||
LIGHT_ARGS=1:2 100
|
||||
|
||||
# Trying to find if icl.exe is set
|
||||
CXX1 = $(TBB_CXX)-
|
||||
CXX2 = $(CXX1:icl.exe-=icl.exe)
|
||||
CXX = $(CXX2:-=cl.exe)
|
||||
|
||||
# Uncomment one of next lines to choose user interface type (console, gdiplus, direct draw)
|
||||
#UI = con
|
||||
UI = gdi
|
||||
#UI = dd
|
||||
|
||||
# Machine architecture, auto-detected from TBB_TARGET_ARCH by default
|
||||
# Use XARCH variable to change it. See index.html for more information
|
||||
ARCH0 = $(TBB_TARGET_ARCH)-
|
||||
ARCH1 = $(ARCH0:ia32-=x86)
|
||||
ARCH2 = $(ARCH1:intel64-=AMD64)
|
||||
XARCH = $(ARCH2:-=x86)
|
||||
|
||||
MAKEINC = ../../common/gui/Makefile.win
|
||||
SOURCES = seismic_video.cpp universe.cpp main.cpp
|
||||
|
||||
all: release test
|
||||
release: compiler_check
|
||||
@$(MAKE) -f $(MAKEINC) UI=$(UI) CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=SeismicSimulation SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
|
||||
debug: compiler_check
|
||||
@$(MAKE) -f $(MAKEINC) UI=$(UI) DEBUG=_debug CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS) /D TBB_USE_DEBUG" LFLAGS="$(LDFLAGS) tbb_debug.lib $(LIBS)" XARCH=$(XARCH) RCNAME=SeismicSimulation SOURCE="$(SOURCES)" EXE=$(PROG).exe build_one
|
||||
clean:
|
||||
@cmd.exe /C del $(PROG).exe *.obj *.?db *.manifest msvs\SeismicSimulation.res >nul 2>&1
|
||||
test:
|
||||
$(PROG) $(ARGS)
|
||||
|
||||
perf_build: compiler_check
|
||||
@$(MAKE) -f $(MAKEINC) UI=con CXX="$(CXX)" CXXFLAGS="$(CXXFLAGS)" LFLAGS="$(LDFLAGS) tbb.lib $(LIBS)" XARCH=$(XARCH) RCNAME=SeismicSimulation SOURCE="$(SOURCES) " EXE=$(PROG).exe build_one
|
||||
perf_run:
|
||||
$(PROG) $(PERF_RUN_ARGS)
|
||||
|
||||
light_test:
|
||||
$(PROG) $(LIGHT_ARGS)
|
||||
|
||||
compiler_check:
|
||||
@echo compiler_test>compiler_test && @$(CXX) /E compiler_test >nul 2>&1 || echo "$(CXX) command not found. Check if CXX=$(CXX) is set properly"
|
||||
@cmd.exe /C del compiler_test
|
134
cs440-acg/ext/tbb/examples/parallel_for/seismic/main.cpp
Normal file
134
cs440-acg/ext/tbb/examples/parallel_for/seismic/main.cpp
Normal file
@@ -0,0 +1,134 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#define VIDEO_WINMAIN_ARGS
|
||||
|
||||
#include <iostream>
|
||||
#include "tbb/tick_count.h"
|
||||
#include "tbb/global_control.h"
|
||||
#include "../../common/utility/utility.h"
|
||||
#include "../../common/utility/get_default_num_threads.h"
|
||||
|
||||
#include "seismic_video.h"
|
||||
#include "universe.h"
|
||||
|
||||
Universe u;
|
||||
|
||||
struct RunOptions {
|
||||
//! It is used for console mode for test with different number of threads and also has
|
||||
//! meaning for GUI: threads.first - use separate event/updating loop thread (>0) or not (0).
|
||||
//! threads.second - initialization value for scheduler
|
||||
utility::thread_number_range threads;
|
||||
int numberOfFrames;
|
||||
bool silent;
|
||||
bool parallel;
|
||||
RunOptions(utility::thread_number_range threads_ , int number_of_frames_ , bool silent_ , bool parallel_ )
|
||||
: threads(threads_),numberOfFrames(number_of_frames_), silent(silent_), parallel(parallel_)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
RunOptions ParseCommandLine(int argc, char *argv[]){
|
||||
// zero number of threads means to run serial version
|
||||
utility::thread_number_range threads(utility::get_default_num_threads,0,utility::get_default_num_threads());
|
||||
|
||||
int numberOfFrames = 0;
|
||||
bool silent = false;
|
||||
bool serial = false;
|
||||
|
||||
utility::parse_cli_arguments(argc,argv,
|
||||
utility::cli_argument_pack()
|
||||
//"-h" option for displaying help is present implicitly
|
||||
.positional_arg(threads,"n-of-threads",utility::thread_number_range_desc)
|
||||
.positional_arg(numberOfFrames,"n-of-frames","number of frames the example processes internally (0 means unlimited)")
|
||||
.arg(silent,"silent","no output except elapsed time")
|
||||
.arg(serial,"serial","in GUI mode start with serial version of algorithm")
|
||||
);
|
||||
return RunOptions(threads,numberOfFrames,silent,!serial);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
try{
|
||||
tbb::tick_count mainStartTime = tbb::tick_count::now();
|
||||
RunOptions options = ParseCommandLine(argc,argv);
|
||||
SeismicVideo video(u,options.numberOfFrames,options.threads.last,options.parallel);
|
||||
|
||||
// video layer init
|
||||
if(video.init_window(u.UniverseWidth, u.UniverseHeight)) {
|
||||
video.calc_fps = true;
|
||||
video.threaded = options.threads.first > 0;
|
||||
// video is ok, init Universe
|
||||
u.InitializeUniverse(video);
|
||||
// main loop
|
||||
video.main_loop();
|
||||
}
|
||||
else if(video.init_console()) {
|
||||
// do console mode
|
||||
if (options.numberOfFrames == 0) {
|
||||
options.numberOfFrames = 1000;
|
||||
std::cout << "Substituting 1000 for unlimited frames because not running interactively\n";
|
||||
}
|
||||
for(int p = options.threads.first; p <= options.threads.last; p = options.threads.step(p)) {
|
||||
tbb::tick_count xwayParallelismStartTime = tbb::tick_count::now();
|
||||
u.InitializeUniverse(video);
|
||||
int numberOfFrames = options.numberOfFrames;
|
||||
#if __TBB_MIC_OFFLOAD
|
||||
drawing_memory dmem = video.get_drawing_memory();
|
||||
char *pMem = dmem.get_address();
|
||||
size_t memSize = dmem.get_size();
|
||||
|
||||
#pragma offload target(mic) in(u, numberOfFrames, p, dmem), out(pMem:length(memSize))
|
||||
{
|
||||
// It is necessary to update the pointer on mic
|
||||
// since the address spaces on host and on target are different
|
||||
dmem.set_address(pMem);
|
||||
u.SetDrawingMemory(dmem);
|
||||
#endif // __TBB_MIC_OFFLOAD
|
||||
if (p==0) {
|
||||
//run a serial version
|
||||
for( int i=0; i<numberOfFrames; ++i ) {
|
||||
u.SerialUpdateUniverse();
|
||||
}
|
||||
} else {
|
||||
tbb::global_control c(tbb::global_control::max_allowed_parallelism, p);
|
||||
for( int i=0; i<numberOfFrames; ++i ) {
|
||||
u.ParallelUpdateUniverse();
|
||||
}
|
||||
}
|
||||
#if __TBB_MIC_OFFLOAD
|
||||
}
|
||||
#endif // __TBB_MIC_OFFLOAD
|
||||
|
||||
if (!options.silent){
|
||||
double fps = options.numberOfFrames/((tbb::tick_count::now()-xwayParallelismStartTime).seconds());
|
||||
std::cout<<fps<<" frame per sec with ";
|
||||
if (p==0){
|
||||
std::cout<<"serial code\n";
|
||||
}else{
|
||||
std::cout<<p<<" way parallelism\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
video.terminate();
|
||||
utility::report_elapsed_time((tbb::tick_count::now() - mainStartTime).seconds());
|
||||
return 0;
|
||||
}catch(std::exception& e){
|
||||
std::cerr<<"error occurred. error text is :\"" <<e.what()<<"\"\n";
|
||||
return 1;
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,145 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "windows.h"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_SEISMICSIMULATION ICON "SeismicSimulation.ico"
|
||||
IDI_SMALL ICON "small.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDC_SEISMICSIMULATION MENU
|
||||
BEGIN
|
||||
POPUP "&File"
|
||||
BEGIN
|
||||
MENUITEM "&Parallel", ID_FILE_PARALLEL
|
||||
MENUITEM "&Serial", ID_FILE_SERIAL
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Enable GUI", ID_FILE_ENABLEGUI
|
||||
MENUITEM "&Disable GUI", ID_FILE_DISABLEGUI
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "E&xit", IDM_EXIT
|
||||
END
|
||||
POPUP "&Help"
|
||||
BEGIN
|
||||
MENUITEM "&About ...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDC_SEISMICSIMULATION ACCELERATORS
|
||||
BEGIN
|
||||
VK_OEM_2, IDM_ABOUT, VIRTKEY, ALT, NOINVERT
|
||||
"P", ID_FILE_PARALLEL, VIRTKEY, ALT, NOINVERT
|
||||
"S", ID_FILE_SERIAL, VIRTKEY, ALT, NOINVERT
|
||||
"D", ID_FILE_DISABLEGUI, VIRTKEY, ALT, NOINVERT
|
||||
"E", ID_FILE_ENABLEGUI, VIRTKEY, ALT, NOINVERT
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_ABOUTBOX DIALOG 22, 17, 230, 75
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "About"
|
||||
FONT 8, "System"
|
||||
BEGIN
|
||||
ICON IDI_SEISMICSIMULATION,IDC_MYICON,14,9,16,16
|
||||
LTEXT "SeismicSimulation Version 1.1",IDC_STATIC,49,10,119,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2005-2008",IDC_STATIC,49,20,119,8
|
||||
DEFPUSHBUTTON "OK",IDOK,195,6,30,11,WS_GROUP
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "SeismicSimulation"
|
||||
IDC_SEISMICSIMULATION "SEISMICSIMULATION"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by SeismicSimulation.rc
|
||||
//
|
||||
#define IDC_MYICON 2
|
||||
#define IDD_SEISMICSIMULATION_DIALOG 102
|
||||
#define IDS_APP_TITLE 103
|
||||
#define IDD_ABOUTBOX 103
|
||||
#define IDM_ABOUT 104
|
||||
#define IDM_EXIT 105
|
||||
#define IDI_SEISMICSIMULATION 107
|
||||
#define IDI_SMALL 108
|
||||
#define IDC_SEISMICSIMULATION 109
|
||||
#define IDR_MAINFRAME 128
|
||||
#define ID_FILE_PARALLEL 32771
|
||||
#define ID_FILE_SERIAL 32772
|
||||
#define IDM_PARALLEL 32773
|
||||
#define ID_FILE_ENABLEGUI 32774
|
||||
#define ID_FILE_DISABLEGUI 32775
|
||||
#define IDC_STATIC -1
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NO_MFC 1
|
||||
#define _APS_NEXT_RESOURCE_VALUE 129
|
||||
#define _APS_NEXT_COMMAND_VALUE 32782
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 110
|
||||
#endif
|
||||
#endif
|
BIN
cs440-acg/ext/tbb/examples/parallel_for/seismic/msvs/small.ico
Normal file
BIN
cs440-acg/ext/tbb/examples/parallel_for/seismic/msvs/small.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
471
cs440-acg/ext/tbb/examples/parallel_for/seismic/readme.html
Normal file
471
cs440-acg/ext/tbb/examples/parallel_for/seismic/readme.html
Normal file
@@ -0,0 +1,471 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<style>
|
||||
::selection {
|
||||
background: #b7ffb7;
|
||||
}
|
||||
::-moz-selection {
|
||||
background: #b7ffb7;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: Arial, Helvetica, sans-serif;
|
||||
font-size: 16px;
|
||||
width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
#banner {
|
||||
/* Div for banner */
|
||||
float:left;
|
||||
margin: 0px;
|
||||
margin-bottom: 10px;
|
||||
width: 100%;
|
||||
background-color: #0071C5;
|
||||
z-index: 0;
|
||||
}
|
||||
#banner .logo {
|
||||
/* Apply to logo in banner. Add as class to image tag. */
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
margin-top: 15px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
font-size: 36px;
|
||||
}
|
||||
h1.title {
|
||||
/* Add as class to H1 in banner */
|
||||
font-family: "Intel Clear", Verdana, Arial, sans-serif;
|
||||
font-weight:normal;
|
||||
color: #FFFFFF;
|
||||
font-size: 170%;
|
||||
margin-right: 40px;
|
||||
margin-left: 40px;
|
||||
padding-right: 20px;
|
||||
text-indent: 20px;
|
||||
}
|
||||
.h3-alike {
|
||||
display:inline;
|
||||
font-size: 1.17em;
|
||||
font-weight: bold;
|
||||
color: #0071C5;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.17em;
|
||||
font-weight: bold;
|
||||
color: #0071C5;
|
||||
}
|
||||
.h4-alike {
|
||||
display:inline;
|
||||
font-size: 1.05em;
|
||||
font-weight: bold;
|
||||
}
|
||||
pre {
|
||||
font-family: "Consolas", Monaco, monospace;
|
||||
font-size:small;
|
||||
background: #fafafa;
|
||||
margin: 0;
|
||||
padding-left:20px;
|
||||
}
|
||||
#footer {
|
||||
font-size: small;
|
||||
}
|
||||
code {
|
||||
font-family: "Consolas", Monaco, monospace;
|
||||
}
|
||||
.code-block
|
||||
{
|
||||
padding-left:20px;
|
||||
}
|
||||
.changes {
|
||||
margin: 1em 0;
|
||||
}
|
||||
.changes input:active {
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.changes input:hover:after {
|
||||
padding-left: 16px;
|
||||
font-size: 10px;
|
||||
content: 'More';
|
||||
}
|
||||
.changes input:checked:hover:after {
|
||||
content: 'Less';
|
||||
}
|
||||
.changes input + .show-hide {
|
||||
display: none;
|
||||
}
|
||||
.changes input:checked + .show-hide {
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0.5em 0 0.5em 2.5em;
|
||||
}
|
||||
ul li {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
ul li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.disc {
|
||||
list-style-type:disc
|
||||
}
|
||||
.circ {
|
||||
list-style-type:circle
|
||||
}
|
||||
|
||||
.single {
|
||||
padding: 0 0.5em;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------- */
|
||||
/* Table styles */
|
||||
table{
|
||||
margin-bottom:5pt;
|
||||
border-collapse:collapse;
|
||||
margin-left:0px;
|
||||
margin-top:0.3em;
|
||||
font-size:10pt;
|
||||
}
|
||||
tr{
|
||||
vertical-align:top;
|
||||
}
|
||||
th,
|
||||
th h3{
|
||||
padding:4px;
|
||||
text-align:left;
|
||||
background-color:#0071C5;
|
||||
font-weight:bold;
|
||||
margin-top:1px;
|
||||
margin-bottom:0;
|
||||
color:#FFFFFF;
|
||||
font-size:10pt;
|
||||
vertical-align:middle;
|
||||
}
|
||||
th{
|
||||
border:1px #dddddd solid;
|
||||
padding-top:2px;
|
||||
padding-bottom:0px;
|
||||
padding-right:3px;
|
||||
padding-left:3px;
|
||||
}
|
||||
td{
|
||||
border:1px #dddddd solid;
|
||||
vertical-align:top;
|
||||
font-size:100%;
|
||||
text-align:left;
|
||||
margin-bottom:0;
|
||||
}
|
||||
td,
|
||||
td p{
|
||||
margin-top:0;
|
||||
margin-left:0;
|
||||
text-align:left;
|
||||
font-size:inherit;
|
||||
line-height:120%;
|
||||
}
|
||||
td p{
|
||||
margin-bottom:0;
|
||||
padding-top:5px;
|
||||
padding-bottom:5px;
|
||||
padding-right:5px;
|
||||
padding-left:1px;
|
||||
}
|
||||
.noborder{
|
||||
border:0px none;
|
||||
}
|
||||
.noborder1stcol{
|
||||
border:0px none;
|
||||
padding-left:0pt;
|
||||
}
|
||||
td ol{
|
||||
font-size:inherit;
|
||||
margin-left:28px;
|
||||
}
|
||||
td ul{
|
||||
font-size:inherit;
|
||||
margin-left:24px;
|
||||
}
|
||||
.DefListTbl{
|
||||
width:90%;
|
||||
margin-left:-3pt;
|
||||
}
|
||||
.syntaxdiagramtbl{
|
||||
margin-left:-3pt;
|
||||
}
|
||||
.sdtbl{
|
||||
}
|
||||
.sdrow{
|
||||
}
|
||||
.sdtblp{
|
||||
border:0px none;
|
||||
font-size:inherit;
|
||||
line-height:120%;
|
||||
margin-bottom:0;
|
||||
padding-bottom:0px;
|
||||
padding-top:5px;
|
||||
padding-left:0px;
|
||||
padding-right:5px;
|
||||
vertical-align:top;
|
||||
}
|
||||
.idepara, .ide_para{
|
||||
border:0px none;
|
||||
font-size:inherit;
|
||||
line-height:120%;
|
||||
margin-bottom:0;
|
||||
padding-bottom:0px;
|
||||
padding-top:5px;
|
||||
padding-left:0px;
|
||||
padding-right:5px;
|
||||
vertical-align:top;
|
||||
}
|
||||
|
||||
.specs {
|
||||
border-collapse:collapse;
|
||||
}
|
||||
.specs td, .specs th {
|
||||
font-size: 14px;
|
||||
}
|
||||
.specs td {
|
||||
border: 1px solid black;
|
||||
}
|
||||
.specs td td, .specs td th {
|
||||
border: none;
|
||||
}
|
||||
.specs td, .specs td td, .specs td th {
|
||||
padding: 0 0.2em 0.2em;
|
||||
text-align: center;
|
||||
}
|
||||
.specs td tr:last-child td,
|
||||
.specs td tr:last-child th {
|
||||
padding: 0 0.2em;
|
||||
}
|
||||
.serial-time {
|
||||
}
|
||||
.modified-time {
|
||||
width: 6.5em;
|
||||
}
|
||||
.compiler {
|
||||
}
|
||||
.comp-opt {
|
||||
}
|
||||
.sys-specs {
|
||||
width: 18em;
|
||||
}
|
||||
.note {
|
||||
font-size:small;
|
||||
font-style: italic;
|
||||
}
|
||||
</style>
|
||||
<title>Intel® Threading Building Blocks. Seismic sample</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="banner">
|
||||
<img class="logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAsCAYAAAA+aAX8AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
|
||||
jwv8YQUAAAAJcEhZcwAALiIAAC4iAari3ZIAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVh
|
||||
ZHlxyWU8AAAIN0lEQVRoQ+WaCaxdUxSGW2ouatZWaVS15nkqkZhSVERQglLEPCam1BCixhqqCKUS
|
||||
NIiYpxhqHmouIeaY5ylFzA/v1fev8+/j3N5737v3vtf3buNP/uy9/7X2Ovuse4a997m9mgltbW2L
|
||||
wRHwcHgFfAx+AH+GCb/BT2fNmvUk5ZXwYOrrOsTcCU5CJ74pPBJeA5+Bn8LfOLmagf/f8Af4NrwD
|
||||
ngg3wdTHh2pOMMB1Gejx8AE4M85mNqD/A7+D78GXkXQFTIMPwUfhdPg6/AxWTRw29b8QruPD9zwY
|
||||
zPrwHPi2xxmg3QrfgDfD05BGU24EB1HvC3s7REXgtwDsDzeEY+Ak+AJsUfwE2sJdcBN37V4whiU4
|
||||
+KGUM2JEBtpzUInZEa5g9y4FcYfAo+GLPmwOND2HFrXrnAUHWgnq0vzDB2+Bt0H9coPs1m3gmNvD
|
||||
ZyITBu234Jp26XoQfCC80sfTAXVv7wOXskuPgnHoSvnTw9P49MDdyOauAQEXhWdC4Vd4ARxmc1OB
|
||||
cW0Gv3U+lJDvKFa0ufMg4GXwR3gs7J57sRNoaWnR2+znLB2RkKds6jwItvbckIQiGO+eTkSby71t
|
||||
qh100qtsUCJxmmpSw5i2gWebR1jWm2047T1gf0vyfViJEKi/TtHua7wMdNJs8U/zDzjUpqYA47k4
|
||||
O704wY+kUZ2P+glQc5ldac9j323sF1cH2EB6h8BxYZdbRDeDOJ16UBJiHDFuMMdYbhjEGA8DxJ4h
|
||||
jXIemmMpz6ccqbZ1JUlT/3SrHC+9XeB0MjzV9RHqKFAXVg2nBkH/lxxO8aZYbhjEKEuGQH1BuCKc
|
||||
z1IAN61jAtiut1wZ+ByIkwa6r9t6ZmhSFZw9eL0gxiMw4SLLDYMYFZNRDbhpcpgwzXI5MOqSEvKM
|
||||
Ue8D+xU4r/Xe+C8HB1ThkhFgNqAXk6FVqyZuA1LcItBXQd+WUvf6YMslwFZvMs7KvMP/SculwKa3
|
||||
hfYPPsZpfsvS9QD9PRHbcOmUC9J+H2qfoRJ/0MHgFhHIQC8mQ8twxZ0Ji099vSGegn/TP0BdD/Db
|
||||
Ycn0nna9yZiceQcetFwKDE/4oNtZCtDeXHoC7dWlU1Uyvs7U6sBHJ7FaBAPU82TYJUAzFnCU+1mq
|
||||
COyfwGLi6k3G05l34BrL/wFxjA/0mKUcaNqBKiJODHclQ3sLCVqZprfEvVCLtThhiskRDFAvXhnv
|
||||
QPlfi5uW7ytTL14Nr0Bd1pfDXy1Lv93h6koGLstCLR/SuPJ5SQBBD8hPZATbWs6BrdZk7B4dDNpT
|
||||
Mjkw3bL0YjLOsxygPUWDyExtD1GNV6JAeyTUBlDCKtbrScYxhfjyj1s+B9o+dnifIj94AnpNyaC9
|
||||
f3QwkNJCTnjOsvRiMi6xrHiaA3ycyYFNbcqBpisl/aoHWaspGdg03uIc43mb/gOilt3CREslQG80
|
||||
GedmlkC1KyNPBnU9wOPWMp6Aut0S74HfwIQJ7ldTMjBPdBIiGWC0TRkQlseWNmR2tlwC9DmZjEmW
|
||||
pQ/zOAKqtwdcrnW/DpOBPtp9Ii6F9lhL1yWIo2zUvVhxzYHeLVcG/QfT/iuTA3qwan+zGndVP8p2
|
||||
k4G8E/wLW4D6PxTlnxgwaDEjaMe6n+USYOvqZKTbUrjQcor3ZSYHRtjULvCrmgwkfY5oRc9B+3Cb
|
||||
S4FhIhS+gAtZLgH9Y6GWuQU6mwx9IEqYajlA+47CsZ6lGovFBDTNkA9xM4CmpXsAWySDUrPjqZQl
|
||||
QBsfnSoB41UKAvS9ouJmDfpaDpTQ2WRcXYinCZm+pdyEtDClPgLloP0unABPp3lrpoZ+KkWskSgP
|
||||
sVZMhlat2t7LQftE2aoCh0sVBOheXclyCYjTp7W19bUsZAQtJuPLTA39gOhg0D7PJtny1xj1tWA+
|
||||
sUpAG2j7mZaqAh9tzPSVP+XStL+w/qY1XRlfWdOSYXvp7QKnU6Ayqk4jLZcB2zD4gv1iu52qkvG5
|
||||
NKPsyrCuPs9aDtDeDr4EtS7RRyXNCgfYLPtYfoC33D0Hul6tE6jOfvsMhVqaT8PWG85PXR+WxlOP
|
||||
pHUIHPNXDsif7NWAT773STdlX6vK4ebi4WRgWybZqFe86tBXUAw4BL+S7UTautTXo9yFcjdKPbsq
|
||||
PuQTsKdbZ16YLzZrAgdRRvXLCF/Big/R/wXInn5dffdMt8opNs214Bz6cyqNbUDRcZwTIWjDt3m+
|
||||
XtcBxq3pvL6p6mFftlFUE+i8JPxRCRGoawVbcVepGcF4V4eTGPNPHv+7NjUGAhzmQOl20fyhphlg
|
||||
T4CxLcQw9WC9Gxb3P4Q37NY4CHJXCuhSW3JnwEXs0qNgSHqVbw210ZP2XwK0A65/6C6NgziaAU5X
|
||||
wCIUHB4H86227gKH1+JtL3gd1N5sCdACbgZo5rtgnQKx+hLs/ixsdjBXBd2TtyKNhUOp1/dprgMQ
|
||||
rx9x16fcn1KbttrIyf9OkICWw1KApvY2YyXbpSBobKf7OGXApFtI+5d3Qq1BDoL6V87GcDVc9Ivq
|
||||
E4D+bjTQbc1i9demreDu8Ch0ffG6hdnmDMrvFbsSsAXczIGk3fwb4VYe+pwBB9Angkd83ADtqgkq
|
||||
AjetdTTV1icDlfl+Qi3AP4elHEjaDXscHgFjPdNt4ID6S9B9sNLiKoelmuFuJbCpDJi+hvqz2qFw
|
||||
iIfWc2AQusxPgvq484vH2eUgtpYHH0Hteeqb75ZwMQ+j+cDg9PlwFDwd6o9sr0KtbWI/tSPgp32M
|
||||
76H+s6mNX3030df5neGq1OtbZDUbOIlFoFaha0L9j0qfCHeAerDqVtODU8+hNThZfR1fHHbpG6kx
|
||||
9Or1LzUmVVz+HJXDAAAAAElFTkSuQmCC">
|
||||
<h1 class="title">Intel® Threading Building Blocks.<br>Seismic sample</h1>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
Parallel seismic wave simulation that demonstrates use of parallel_for and affinity_partitioner.
|
||||
<br><br>
|
||||
The example can be built in the offload version to run on Intel® Many Integrated Core (Intel® MIC) Architecture based coprocessor (see <a href="../../index.html">build instructions</a>).
|
||||
<br><br>
|
||||
<b>Note:</b> Currently, the offload version does not support GUI and can only be used with console mode.
|
||||
</p>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">System Requirements</div>
|
||||
<input type="checkbox">
|
||||
<div class="show-hide">
|
||||
<p>
|
||||
For the most up to date system requirements, see the <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Files</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<dl>
|
||||
<dt><a href="main.cpp">main.cpp</a>
|
||||
<dd>Main program which parses command line options and runs the algorithm with different numbers of threads.
|
||||
<dt><a href="universe.h">universe.h</a>
|
||||
<dd>Wave propagation methods interface.
|
||||
<dt><a href="universe.cpp">universe.cpp</a>
|
||||
<dd>Wave propagation methods implementation.
|
||||
<dt><a href="seismic_video.h">seismic_video.h</a>
|
||||
<dd>GUI mode support interface.
|
||||
<dt><a href="seismic_video.cpp">seismic_video.cpp</a>
|
||||
<dd>GUI mode support implementation.
|
||||
<dt><a href="Makefile">Makefile</a>
|
||||
<dd>Makefile for building the example.
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Directories</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<dl>
|
||||
<dt><a href="msvs/">msvs</a>
|
||||
<dd>Contains Microsoft* Visual Studio* workspace for building and running the example (Windows* systems only).
|
||||
<dt><a href="xcode/">xcode</a>
|
||||
<dd>Contains Xcode* IDE workspace for building and running the example (macOS* systems only).
|
||||
</dl>
|
||||
<p>For information about the minimum supported version of IDE, see <a href="http://software.intel.com/en-us/articles/intel-threading-building-blocks-release-notes">release notes.</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Build instructions</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<p>General build directions can be found <a href="../../index.html">here</a>.</p>
|
||||
<p>The following additional options are supported:</p>
|
||||
<dl>
|
||||
<dt><tt>make [(general targets: {release, debug} [test])] UI={con, gdi, d2d, x, mac}</tt>
|
||||
<dd>Build and run as usual, but build with the specified GUI driver: console, GDI+*,
|
||||
Direct2D*, X11, or OpenGL*
|
||||
(see the description of the <a href="../../common/index.html">common GUI code</a>
|
||||
for more information on available graphics support).<br>
|
||||
For Linux* and macOS* systems, the best available driver is detected automatically by the Makefile.<br>
|
||||
For Windows* systems, UI=gdi is the default GUI driver; compiling with UI=d2d may offer superior
|
||||
performance, but can only be used if the Microsoft* DirectX* SDK is installed on your system
|
||||
and if overlay is supported by your graphics card.<br>
|
||||
Use UI=con to build without the GUI for use in making performance measurements
|
||||
<i>(strongly recommended when measuring performance or scalability; see note below)</i>.
|
||||
<dt><tt>make [(above options or targets)] XARCH=x64</tt>
|
||||
<dd>Build and run as above, but also specify XARCH=x64
|
||||
(or XARCH=AMD64 for older compilers) when building the example on Windows* as a 64-bit binary.
|
||||
<dt><tt>make [(above options or targets)] DDLIB_DIR=<<i>specify path to Direct Draw* SDK here</i>></tt>
|
||||
<dd>If you experience ddraw.lib linking problems, specify the correct library directory via this option.
|
||||
<dt><tt>make [(above options or targets)] CXXFLAGS=-DX_FULLSYNC</tt>
|
||||
<dd>Build and run as above, but enable full X11 synchronization if you experience "tearing" of motion on slower video systems.
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Usage</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<dl>
|
||||
<dt><tt>seismic <i>-h</i></tt>
|
||||
<dd>Prints the help for command line options
|
||||
<dt><tt>seismic [<i>n-of-threads</i>=value] [<i>n-of-frames</i>=value] [<i>silent</i>] [<i>serial</i>]</tt>
|
||||
<dt><tt>seismic [<i>n-of-threads</i> [<i>n-of-frames</i>]] [<i>silent</i>] [<i>serial</i>]</tt>
|
||||
<dd><i>n-of-threads</i> is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.<br>
|
||||
<i>n-of-frames</i> is a number of frames the example processes internally.<br>
|
||||
<i>silent</i> - no output except elapsed time.<br>
|
||||
<i>serial</i> - in GUI mode start with serial version of algorithm.<br>
|
||||
<dt>To run a short version of this example, e.g., for use with Intel® Parallel Inspector::
|
||||
<dd>Build a <i>debug</i> version of the example
|
||||
(see the <a href="../../index.html">build instructions</a>).
|
||||
<br>Run it with the desired number of threads and smaller number of frames, e.g., <tt>seismic 4 5</tt>.
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Hot keys</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<p>
|
||||
The following hot keys can be used in interactive execution mode when the example is compiled with the graphical
|
||||
user interface:
|
||||
</p>
|
||||
<dl>
|
||||
<dt><left mouse button>
|
||||
<dd>Starts new seismic wave in place specified by mouse cursor.
|
||||
<dt><space>
|
||||
<dd>Toggles between parallel and serial execution modes.
|
||||
<dt><p>
|
||||
<dd>Enables parallel execution mode.
|
||||
<dt><s>
|
||||
<dd>Enables serial execution mode.
|
||||
<dt><e>
|
||||
<dd>Enables screen updates.
|
||||
<dt><d>
|
||||
<dd>Disables screen updates <i>(strongly recommended when measuring performance or scalability; see note below)</i>.
|
||||
<dt><esc>
|
||||
<dd>Stops execution.
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Notes</div>
|
||||
<input type="checkbox" checked="checked">
|
||||
<div class="show-hide">
|
||||
<ul>
|
||||
<li>While running with the GUI display turned on should yield reasonable performance in most cases, <i>running with the GUI
|
||||
display turned off is strongly recommended</i> in order to demonstrate the full performance and scalability of the example.
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<a href="../index.html">Up to parent directory</a>
|
||||
<hr>
|
||||
<div class="changes">
|
||||
<div class="h3-alike">Legal Information</div>
|
||||
<input type="checkbox">
|
||||
<div class="show-hide">
|
||||
<p>
|
||||
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
|
||||
<br>* Other names and brands may be claimed as the property of others.
|
||||
<br>© 2020, Intel Corporation
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -0,0 +1,144 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#include "seismic_video.h"
|
||||
#include "universe.h"
|
||||
#include "tbb/global_control.h"
|
||||
|
||||
const char * const SeismicVideo::titles[2] = {"Seismic Simulation: Serial", "Seismic Simulation: Parallel"};
|
||||
void SeismicVideo::on_mouse(int x, int y, int key) {
|
||||
if(key == 1){
|
||||
u_.TryPutNewPulseSource(x,y);
|
||||
}
|
||||
}
|
||||
|
||||
void SeismicVideo::on_key(int key) {
|
||||
key &= 0xff;
|
||||
if(char(key) == ' ') initIsParallel = !initIsParallel;
|
||||
else if(char(key) == 'p') initIsParallel = true;
|
||||
else if(char(key) == 's') initIsParallel = false;
|
||||
else if(char(key) == 'e') updating = true;
|
||||
else if(char(key) == 'd') updating = false;
|
||||
else if(key == 27) running = false;
|
||||
title = titles[initIsParallel?1:0];
|
||||
}
|
||||
|
||||
void SeismicVideo::on_process() {
|
||||
tbb::global_control c(tbb::global_control::max_allowed_parallelism, threadsHigh);
|
||||
for( int frames = 0; numberOfFrames_==0 || frames<numberOfFrames_; ++frames ) {
|
||||
if( initIsParallel )
|
||||
u_.ParallelUpdateUniverse();
|
||||
else
|
||||
u_.SerialUpdateUniverse();
|
||||
if( !next_frame() ) break;
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef _WINDOWS
|
||||
#include "msvs/resource.h"
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
SeismicVideo * gVideo = NULL;
|
||||
#endif
|
||||
|
||||
SeismicVideo::SeismicVideo( Universe &u, int number_of_frames, int threads_high, bool init_is_parallel)
|
||||
:numberOfFrames_(number_of_frames),initIsParallel(init_is_parallel),u_(u),threadsHigh(threads_high)
|
||||
{
|
||||
title = titles[initIsParallel?1:0];
|
||||
#ifdef _WINDOWS
|
||||
gVideo = this;
|
||||
LoadStringA(video::win_hInstance, IDC_SEISMICSIMULATION, szWindowClass, MAX_LOADSTRING);
|
||||
memset(&wcex, 0, sizeof(wcex));
|
||||
wcex.lpfnWndProc = (WNDPROC)WndProc;
|
||||
wcex.hIcon = LoadIcon(video::win_hInstance, MAKEINTRESOURCE(IDI_SEISMICSIMULATION));
|
||||
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
|
||||
wcex.lpszMenuName = LPCTSTR(IDC_SEISMICSIMULATION);
|
||||
wcex.lpszClassName = szWindowClass;
|
||||
wcex.hIconSm = LoadIcon(video::win_hInstance, MAKEINTRESOURCE(IDI_SMALL));
|
||||
win_set_class(wcex); // ascii convention here
|
||||
win_load_accelerators(IDC_SEISMICSIMULATION);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef _WINDOWS
|
||||
//
|
||||
// FUNCTION: WndProc(HWND, unsigned, WORD, LONG)
|
||||
//
|
||||
// PURPOSE: Processes messages for the main window.
|
||||
//
|
||||
// WM_COMMAND - process the application menu
|
||||
// WM_PAINT - Paint the main window
|
||||
// WM_DESTROY - post a quit message and return
|
||||
//
|
||||
//
|
||||
LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
case WM_INITDIALOG: return TRUE;
|
||||
case WM_COMMAND:
|
||||
if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int wmId;
|
||||
switch (message) {
|
||||
case WM_COMMAND:
|
||||
wmId = LOWORD(wParam);
|
||||
// Parse the menu selections:
|
||||
switch (wmId)
|
||||
{
|
||||
case IDM_ABOUT:
|
||||
DialogBox(video::win_hInstance, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, (DLGPROC)About);
|
||||
break;
|
||||
case IDM_EXIT:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
case ID_FILE_PARALLEL:
|
||||
gVideo->on_key('p');
|
||||
break;
|
||||
case ID_FILE_SERIAL:
|
||||
gVideo->on_key('s');
|
||||
break;
|
||||
case ID_FILE_ENABLEGUI:
|
||||
gVideo->on_key('e');
|
||||
break;
|
||||
case ID_FILE_DISABLEGUI:
|
||||
gVideo->on_key('d');
|
||||
break;
|
||||
default:
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
@@ -0,0 +1,50 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef SEISMIC_VIDEO_H_
|
||||
#define SEISMIC_VIDEO_H_
|
||||
|
||||
#include "../../common/gui/video.h"
|
||||
|
||||
class Universe;
|
||||
|
||||
class SeismicVideo : public video
|
||||
{
|
||||
#ifdef _WINDOWS
|
||||
#define MAX_LOADSTRING 100
|
||||
TCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name
|
||||
WNDCLASSEX wcex;
|
||||
#endif
|
||||
static const char * const titles[2];
|
||||
|
||||
bool initIsParallel ;
|
||||
|
||||
Universe &u_;
|
||||
int numberOfFrames_; // 0 means forever, positive means number of frames, negative is undefined
|
||||
int threadsHigh;
|
||||
private:
|
||||
void on_mouse(int x, int y, int key);
|
||||
void on_process();
|
||||
|
||||
#ifdef _WINDOWS
|
||||
public:
|
||||
#endif
|
||||
void on_key(int key);
|
||||
|
||||
public:
|
||||
SeismicVideo( Universe &u,int numberOfFrames, int threadsHigh, bool initIsParallel=true);
|
||||
};
|
||||
#endif /* SEISMIC_VIDEO_H_ */
|
217
cs440-acg/ext/tbb/examples/parallel_for/seismic/universe.cpp
Normal file
217
cs440-acg/ext/tbb/examples/parallel_for/seismic/universe.cpp
Normal file
@@ -0,0 +1,217 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#include "../../common/gui/video.h"
|
||||
#include <cmath>
|
||||
#include "tbb/blocked_range.h"
|
||||
#include "tbb/parallel_for.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
// warning C4068: unknown pragma
|
||||
#pragma warning(disable: 4068)
|
||||
// warning C4351: new behavior: elements of array 'array' will be default initialized
|
||||
#pragma warning(disable: 4351)
|
||||
#endif
|
||||
|
||||
#include "universe.h"
|
||||
|
||||
const colorcomp_t MaterialColor[4][3] = { // BGR
|
||||
{96,0,0}, // WATER
|
||||
{0,48,48}, // SANDSTONE
|
||||
{32,32,23} // SHALE
|
||||
};
|
||||
|
||||
void Universe::InitializeUniverse(video const& colorizer) {
|
||||
|
||||
pulseCounter = pulseTime = 100;
|
||||
pulseX = UniverseWidth/3;
|
||||
pulseY = UniverseHeight/4;
|
||||
// Initialize V, S, and T to slightly non-zero values, in order to avoid denormal waves.
|
||||
for( int i=0; i<UniverseHeight; ++i )
|
||||
#pragma ivdep
|
||||
for( int j=0; j<UniverseWidth; ++j ) {
|
||||
T[i][j] = S[i][j] = V[i][j] = ValueType(1.0E-6);
|
||||
}
|
||||
for( int i=1; i<UniverseHeight-1; ++i ) {
|
||||
for( int j=1; j<UniverseWidth-1; ++j ) {
|
||||
float x = float(j-UniverseWidth/2)/(UniverseWidth/2);
|
||||
ValueType t = (ValueType)i/UniverseHeight;
|
||||
MaterialType m;
|
||||
D[i][j] = 1.0;
|
||||
// Coefficient values are fictitious, and chosen to visually exaggerate
|
||||
// physical effects such as Rayleigh waves. The fabs/exp line generates
|
||||
// a shale layer with a gentle upwards slope and an anticline.
|
||||
if( t<0.3f ) {
|
||||
m = WATER;
|
||||
M[i][j] = 0.125;
|
||||
L[i][j] = 0.125;
|
||||
} else if( fabs(t-0.7+0.2*exp(-8*x*x)+0.025*x)<=0.1 ) {
|
||||
m = SHALE;
|
||||
M[i][j] = 0.5;
|
||||
L[i][j] = 0.6;
|
||||
} else {
|
||||
m = SANDSTONE;
|
||||
M[i][j] = 0.3;
|
||||
L[i][j] = 0.4;
|
||||
}
|
||||
material[i][j] = m;
|
||||
}
|
||||
}
|
||||
ValueType scale = 2.0f/ColorMapSize;
|
||||
for( int k=0; k<4; ++k ) {
|
||||
for( int i=0; i<ColorMapSize; ++i ) {
|
||||
colorcomp_t c[3];
|
||||
ValueType t = (i-ColorMapSize/2)*scale;
|
||||
ValueType r = t>0 ? t : 0;
|
||||
ValueType b = t<0 ? -t : 0;
|
||||
ValueType g = 0.5f*fabs(t);
|
||||
memcpy(c, MaterialColor[k], sizeof(c));
|
||||
c[2] = colorcomp_t(r*(255-c[2])+c[2]);
|
||||
c[1] = colorcomp_t(g*(255-c[1])+c[1]);
|
||||
c[0] = colorcomp_t(b*(255-c[0])+c[0]);
|
||||
ColorMap[k][i] = colorizer.get_color(c[2], c[1], c[0]);
|
||||
}
|
||||
}
|
||||
// Set damping coefficients around border to reduce reflections from boundaries.
|
||||
ValueType d = 1.0;
|
||||
for( int k=DamperSize-1; k>0; --k ) {
|
||||
d *= 1-1.0f/(DamperSize*DamperSize);
|
||||
for( int j=1; j<UniverseWidth-1; ++j ) {
|
||||
D[k][j] *= d;
|
||||
D[UniverseHeight-1-k][j] *= d;
|
||||
}
|
||||
for( int i=1; i<UniverseHeight-1; ++i ) {
|
||||
D[i][k] *= d;
|
||||
D[i][UniverseWidth-1-k] *= d;
|
||||
}
|
||||
}
|
||||
drawingMemory = colorizer.get_drawing_memory();
|
||||
}
|
||||
void Universe::UpdatePulse() {
|
||||
if( pulseCounter>0 ) {
|
||||
ValueType t = (pulseCounter-pulseTime/2)*0.05f;
|
||||
V[pulseY][pulseX] += 64*sqrt(M[pulseY][pulseX])*exp(-t*t);
|
||||
--pulseCounter;
|
||||
}
|
||||
}
|
||||
|
||||
struct Universe::Rectangle {
|
||||
struct std::pair<int,int> xRange;
|
||||
struct std::pair<int,int> yRange;
|
||||
Rectangle (int startX, int startY, int width, int height):xRange(startX,width),yRange(startY,height){}
|
||||
int StartX() const {return xRange.first;}
|
||||
int StartY() const {return yRange.first;}
|
||||
int Width() const {return xRange.second;}
|
||||
int Height() const {return yRange.second;}
|
||||
int EndX() const {return xRange.first + xRange.second;}
|
||||
int EndY() const {return yRange.first + yRange.second;}
|
||||
|
||||
};
|
||||
|
||||
void Universe::UpdateStress(Rectangle const& r ) {
|
||||
drawing_area drawing(r.StartX(),r.StartY(),r.Width(),r.Height(),drawingMemory);
|
||||
for( int i=r.StartY(); i<r.EndY() ; ++i ) {
|
||||
drawing.set_pos(1, i-r.StartY());
|
||||
#pragma ivdep
|
||||
for( int j=r.StartX(); j<r.EndX() ; ++j ) {
|
||||
S[i][j] += M[i][j]*(V[i][j+1]-V[i][j]);
|
||||
T[i][j] += M[i][j]*(V[i+1][j]-V[i][j]);
|
||||
int index = (int)(V[i][j]*(ColorMapSize/2)) + ColorMapSize/2;
|
||||
if( index<0 ) index = 0;
|
||||
if( index>=ColorMapSize ) index = ColorMapSize-1;
|
||||
color_t* c = ColorMap[material[i][j]];
|
||||
drawing.put_pixel(c[index]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Universe::SerialUpdateStress() {
|
||||
Rectangle area(0, 0, UniverseWidth-1, UniverseHeight-1);
|
||||
UpdateStress(area);
|
||||
}
|
||||
|
||||
struct UpdateStressBody {
|
||||
Universe & u_;
|
||||
UpdateStressBody(Universe & u):u_(u){}
|
||||
void operator()( const tbb::blocked_range<int>& range ) const {
|
||||
Universe::Rectangle area(0, range.begin(), u_.UniverseWidth-1, range.size());
|
||||
u_.UpdateStress(area);
|
||||
}
|
||||
};
|
||||
|
||||
void Universe::ParallelUpdateStress(tbb::affinity_partitioner &affinity) {
|
||||
tbb::parallel_for( tbb::blocked_range<int>( 0, UniverseHeight-1 ), // Index space for loop
|
||||
UpdateStressBody(*this), // Body of loop
|
||||
affinity ); // Affinity hint
|
||||
}
|
||||
|
||||
void Universe::UpdateVelocity(Rectangle const& r) {
|
||||
for( int i=r.StartY(); i<r.EndY(); ++i )
|
||||
#pragma ivdep
|
||||
for( int j=r.StartX(); j<r.EndX(); ++j )
|
||||
V[i][j] = D[i][j]*(V[i][j] + L[i][j]*(S[i][j] - S[i][j-1] + T[i][j] - T[i-1][j]));
|
||||
}
|
||||
|
||||
void Universe::SerialUpdateVelocity() {
|
||||
UpdateVelocity(Rectangle(1,1,UniverseWidth-1,UniverseHeight-1));
|
||||
}
|
||||
|
||||
struct UpdateVelocityBody {
|
||||
Universe & u_;
|
||||
UpdateVelocityBody(Universe & u):u_(u){}
|
||||
void operator()( const tbb::blocked_range<int>& y_range ) const {
|
||||
u_.UpdateVelocity(Universe::Rectangle(1,y_range.begin(),u_.UniverseWidth-1,y_range.size()));
|
||||
}
|
||||
};
|
||||
|
||||
void Universe::ParallelUpdateVelocity(tbb::affinity_partitioner &affinity) {
|
||||
tbb::parallel_for( tbb::blocked_range<int>( 1, UniverseHeight ), // Index space for loop
|
||||
UpdateVelocityBody(*this), // Body of loop
|
||||
affinity ); // Affinity hint
|
||||
}
|
||||
|
||||
void Universe::SerialUpdateUniverse() {
|
||||
UpdatePulse();
|
||||
SerialUpdateStress();
|
||||
SerialUpdateVelocity();
|
||||
}
|
||||
|
||||
void Universe::ParallelUpdateUniverse() {
|
||||
/** Affinity is an argument to parallel_for to hint that an iteration of a loop
|
||||
is best replayed on the same processor for each execution of the loop.
|
||||
It is a static object because it must remember where the iterations happened
|
||||
in previous executions. */
|
||||
static tbb::affinity_partitioner affinity;
|
||||
UpdatePulse();
|
||||
ParallelUpdateStress(affinity);
|
||||
ParallelUpdateVelocity(affinity);
|
||||
}
|
||||
|
||||
bool Universe::TryPutNewPulseSource(int x, int y){
|
||||
if(pulseCounter == 0) {
|
||||
pulseCounter = pulseTime;
|
||||
pulseX = x; pulseY = y;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void Universe::SetDrawingMemory(const drawing_memory &dmem) {
|
||||
drawingMemory = dmem;
|
||||
}
|
114
cs440-acg/ext/tbb/examples/parallel_for/seismic/universe.h
Normal file
114
cs440-acg/ext/tbb/examples/parallel_for/seismic/universe.h
Normal file
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
Copyright (c) 2005-2020 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef UNIVERSE_H_
|
||||
#define UNIVERSE_H_
|
||||
|
||||
#ifndef UNIVERSE_WIDTH
|
||||
#define UNIVERSE_WIDTH 1024
|
||||
#endif
|
||||
#ifndef UNIVERSE_HEIGHT
|
||||
#define UNIVERSE_HEIGHT 512
|
||||
#endif
|
||||
|
||||
#include "../../common/gui/video.h"
|
||||
#include "tbb/partitioner.h"
|
||||
|
||||
class Universe {
|
||||
public:
|
||||
enum {
|
||||
UniverseWidth = UNIVERSE_WIDTH,
|
||||
UniverseHeight = UNIVERSE_HEIGHT
|
||||
};
|
||||
private:
|
||||
//in order to avoid performance degradation due to cache aliasing issue
|
||||
//some padding is needed after each row in array, and between array themselves.
|
||||
//the padding is achieved by adjusting number of rows and columns.
|
||||
//as the compiler is forced to place class members of the same clause in order of the
|
||||
//declaration this seems to be the right way of padding.
|
||||
|
||||
//magic constants added below are chosen experimentally for 1024x512.
|
||||
enum {
|
||||
MaxWidth = UniverseWidth+1,
|
||||
MaxHeight = UniverseHeight+3
|
||||
};
|
||||
|
||||
typedef float ValueType;
|
||||
|
||||
//! Horizontal stress
|
||||
ValueType S[MaxHeight][MaxWidth];
|
||||
|
||||
//! Velocity at each grid point
|
||||
ValueType V[MaxHeight][MaxWidth];
|
||||
|
||||
//! Vertical stress
|
||||
ValueType T[MaxHeight][MaxWidth];
|
||||
|
||||
//! Coefficient related to modulus
|
||||
ValueType M[MaxHeight][MaxWidth];
|
||||
|
||||
//! Damping coefficients
|
||||
ValueType D[MaxHeight][MaxWidth];
|
||||
|
||||
//! Coefficient related to lightness
|
||||
ValueType L[MaxHeight][MaxWidth];
|
||||
|
||||
enum { ColorMapSize = 1024};
|
||||
color_t ColorMap[4][ColorMapSize];
|
||||
|
||||
enum MaterialType {
|
||||
WATER=0,
|
||||
SANDSTONE=1,
|
||||
SHALE=2
|
||||
};
|
||||
|
||||
//! Values are MaterialType, cast to an unsigned char to save space.
|
||||
unsigned char material[MaxHeight][MaxWidth];
|
||||
|
||||
private:
|
||||
enum { DamperSize = 32};
|
||||
|
||||
int pulseTime;
|
||||
int pulseCounter;
|
||||
int pulseX;
|
||||
int pulseY;
|
||||
|
||||
drawing_memory drawingMemory;
|
||||
|
||||
public:
|
||||
void InitializeUniverse(video const& colorizer);
|
||||
|
||||
void SerialUpdateUniverse();
|
||||
void ParallelUpdateUniverse();
|
||||
bool TryPutNewPulseSource(int x, int y);
|
||||
void SetDrawingMemory(const drawing_memory &dmem);
|
||||
private:
|
||||
struct Rectangle;
|
||||
void UpdatePulse();
|
||||
void UpdateStress(Rectangle const& r );
|
||||
|
||||
void SerialUpdateStress() ;
|
||||
friend struct UpdateStressBody;
|
||||
friend struct UpdateVelocityBody;
|
||||
void ParallelUpdateStress(tbb::affinity_partitioner &affinity);
|
||||
|
||||
void UpdateVelocity(Rectangle const& r);
|
||||
|
||||
void SerialUpdateVelocity() ;
|
||||
void ParallelUpdateVelocity(tbb::affinity_partitioner &affinity);
|
||||
};
|
||||
|
||||
#endif /* UNIVERSE_H_ */
|
@@ -0,0 +1,586 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
|
||||
84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
|
||||
84B8DA7A152CA90100D59B95 /* (null) in Resources */ = {isa = PBXBuildFile; };
|
||||
84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */; };
|
||||
84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 84B8DA7E152CA97B00D59B95 /* MainMenu.xib */; };
|
||||
84B8DA87152CA99C00D59B95 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
|
||||
84B8DA88152CA99C00D59B95 /* seismic_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA83152CA99C00D59B95 /* seismic_video.cpp */; };
|
||||
84B8DA89152CA99C00D59B95 /* universe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA85152CA99C00D59B95 /* universe.cpp */; };
|
||||
84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D017551527431F0008A4E0 /* Cocoa.framework */; };
|
||||
84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D01775152744BD0008A4E0 /* OpenGL.framework */; };
|
||||
D3BD96921C0DD55E00163D8B /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA82152CA99C00D59B95 /* main.cpp */; };
|
||||
D3BD96931C0DD56900163D8B /* seismic_video.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA83152CA99C00D59B95 /* seismic_video.cpp */; };
|
||||
D3BD96941C0DD57600163D8B /* universe.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA85152CA99C00D59B95 /* universe.cpp */; };
|
||||
D3BD96951C0DD59200163D8B /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
|
||||
D3BD96961C0DD5A000163D8B /* OpenGLView.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA71152CA90100D59B95 /* OpenGLView.m */; };
|
||||
D3BD96971C0DD5A900163D8B /* tbbAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */; };
|
||||
D3BD96A31C0DE2BB00163D8B /* macvideo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84B8DA99152CADF400D59B95 /* macvideo.cpp */; };
|
||||
D3BD96A61C0DE3DE00163D8B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D3BD96A51C0DE3DE00163D8B /* main.m */; };
|
||||
D3BD96AB1C0E08E500163D8B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = D3BD96A51C0DE3DE00163D8B /* main.m */; };
|
||||
D3BD96B31C0E0AFE00163D8B /* tbbExample-Info.ios.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3BD966D1C0DD00400163D8B /* tbbExample-Info.ios.plist */; };
|
||||
D3BD96B51C0E0B2200163D8B /* tbbExample-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = D3BD96B41C0E0B2200163D8B /* tbbExample-Info.plist */; };
|
||||
D3BD96B81C0E11CE00163D8B /* iOS.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D3BD96B61C0E11C600163D8B /* iOS.storyboard */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXBuildRule section */
|
||||
C3C5896E2191923E00DAC94C /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = com.intel.compilers.icc.latest;
|
||||
fileType = sourcecode.cpp;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
script = "# Type a script or drag a script file from your workspace to insert its path.\n";
|
||||
};
|
||||
C3C5896F2191925E00DAC94C /* PBXBuildRule */ = {
|
||||
isa = PBXBuildRule;
|
||||
compilerSpec = com.intel.compilers.icc.latest;
|
||||
fileType = sourcecode.cpp;
|
||||
isEditable = 1;
|
||||
outputFiles = (
|
||||
);
|
||||
script = "# Type a script or drag a script file from your workspace to insert its path.\n";
|
||||
};
|
||||
/* End PBXBuildRule section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
84B8DA70152CA90100D59B95 /* OpenGLView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OpenGLView.h; path = ../../../common/gui/xcode/tbbExample/OpenGLView.h; sourceTree = "<group>"; };
|
||||
84B8DA71152CA90100D59B95 /* OpenGLView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OpenGLView.m; path = ../../../common/gui/xcode/tbbExample/OpenGLView.m; sourceTree = "<group>"; };
|
||||
84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tbbAppDelegate.h; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.h; sourceTree = "<group>"; };
|
||||
84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = tbbAppDelegate.m; path = ../../../common/gui/xcode/tbbExample/tbbAppDelegate.m; sourceTree = "<group>"; };
|
||||
84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "tbbExample-Prefix.pch"; path = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch"; sourceTree = "<group>"; };
|
||||
84B8DA7D152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = InfoPlist.strings; sourceTree = "<group>"; };
|
||||
84B8DA7F152CA97B00D59B95 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = MainMenu.xib; sourceTree = "<group>"; };
|
||||
84B8DA82152CA99C00D59B95 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ../main.cpp; sourceTree = "<group>"; };
|
||||
84B8DA83152CA99C00D59B95 /* seismic_video.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = seismic_video.cpp; path = ../seismic_video.cpp; sourceTree = "<group>"; };
|
||||
84B8DA84152CA99C00D59B95 /* seismic_video.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = seismic_video.h; path = ../seismic_video.h; sourceTree = "<group>"; };
|
||||
84B8DA85152CA99C00D59B95 /* universe.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = universe.cpp; path = ../universe.cpp; sourceTree = "<group>"; };
|
||||
84B8DA86152CA99C00D59B95 /* universe.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = universe.h; path = ../universe.h; sourceTree = "<group>"; };
|
||||
84B8DA99152CADF400D59B95 /* macvideo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = macvideo.cpp; path = ../../../common/gui/macvideo.cpp; sourceTree = "<group>"; };
|
||||
84D017511527431F0008A4E0 /* tbbExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
84D017551527431F0008A4E0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
|
||||
84D017581527431F0008A4E0 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
|
||||
84D017591527431F0008A4E0 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
|
||||
84D0175A1527431F0008A4E0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||
84D01775152744BD0008A4E0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
|
||||
D3BD966D1C0DD00400163D8B /* tbbExample-Info.ios.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "tbbExample-Info.ios.plist"; path = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist"; sourceTree = "<group>"; };
|
||||
D3BD96A51C0DE3DE00163D8B /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = main.m; path = ../../../common/gui/xcode/tbbExample/main.m; sourceTree = "<group>"; };
|
||||
D3BD96B41C0E0B2200163D8B /* tbbExample-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "tbbExample-Info.plist"; path = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist"; sourceTree = "<group>"; };
|
||||
D3BD96B61C0E11C600163D8B /* iOS.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = iOS.storyboard; path = ../iOS.storyboard; sourceTree = "<group>"; };
|
||||
D3BD96BB1C0E19E700163D8B /* tbbExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = tbbExample.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
84D0174E1527431F0008A4E0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
84D01776152744BD0008A4E0 /* OpenGL.framework in Frameworks */,
|
||||
84D017561527431F0008A4E0 /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D3BD96571C0DD00400163D8B /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
84B8DA6C152CA8D900D59B95 /* tbbExample Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84B8DA7B152CA97B00D59B95 /* Resources */,
|
||||
84B8DA82152CA99C00D59B95 /* main.cpp */,
|
||||
D3BD96A51C0DE3DE00163D8B /* main.m */,
|
||||
84B8DA83152CA99C00D59B95 /* seismic_video.cpp */,
|
||||
84B8DA84152CA99C00D59B95 /* seismic_video.h */,
|
||||
84B8DA85152CA99C00D59B95 /* universe.cpp */,
|
||||
84B8DA86152CA99C00D59B95 /* universe.h */,
|
||||
);
|
||||
name = "tbbExample Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84B8DA7B152CA97B00D59B95 /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D3BD96B61C0E11C600163D8B /* iOS.storyboard */,
|
||||
84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */,
|
||||
84B8DA7E152CA97B00D59B95 /* MainMenu.xib */,
|
||||
);
|
||||
name = Resources;
|
||||
path = ../../../common/gui/xcode/tbbExample/en.lproj;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84B8DA98152CAD8600D59B95 /* Gui layer */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84B8DA99152CADF400D59B95 /* macvideo.cpp */,
|
||||
84B8DA70152CA90100D59B95 /* OpenGLView.h */,
|
||||
84B8DA71152CA90100D59B95 /* OpenGLView.m */,
|
||||
84B8DA72152CA90100D59B95 /* tbbAppDelegate.h */,
|
||||
84B8DA73152CA90100D59B95 /* tbbAppDelegate.m */,
|
||||
84B8DA75152CA90100D59B95 /* tbbExample-Prefix.pch */,
|
||||
);
|
||||
name = "Gui layer";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84D017461527431F0008A4E0 = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D3BD96B41C0E0B2200163D8B /* tbbExample-Info.plist */,
|
||||
D3BD966D1C0DD00400163D8B /* tbbExample-Info.ios.plist */,
|
||||
84B8DA98152CAD8600D59B95 /* Gui layer */,
|
||||
84B8DA6C152CA8D900D59B95 /* tbbExample Sources */,
|
||||
84D017541527431F0008A4E0 /* Frameworks */,
|
||||
84D017521527431F0008A4E0 /* Products */,
|
||||
);
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84D017521527431F0008A4E0 /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84D017511527431F0008A4E0 /* tbbExample.app */,
|
||||
D3BD96BB1C0E19E700163D8B /* tbbExample.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84D017541527431F0008A4E0 /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
84D017591527431F0008A4E0 /* CoreData.framework */,
|
||||
84D0175A1527431F0008A4E0 /* Foundation.framework */,
|
||||
84D017581527431F0008A4E0 /* AppKit.framework */,
|
||||
84D01775152744BD0008A4E0 /* OpenGL.framework */,
|
||||
84D017551527431F0008A4E0 /* Cocoa.framework */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
84D017501527431F0008A4E0 /* tbbExample */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */;
|
||||
buildPhases = (
|
||||
84D0174D1527431F0008A4E0 /* Sources */,
|
||||
84D0174E1527431F0008A4E0 /* Frameworks */,
|
||||
84D0174F1527431F0008A4E0 /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
C3C5896E2191923E00DAC94C /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = tbbExample;
|
||||
productName = tbbExample;
|
||||
productReference = 84D017511527431F0008A4E0 /* tbbExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
D3BD96591C0DD00400163D8B /* tbbExample_ios */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = D3BD96841C0DD00500163D8B /* Build configuration list for PBXNativeTarget "tbbExample_ios" */;
|
||||
buildPhases = (
|
||||
D3BD96561C0DD00400163D8B /* Sources */,
|
||||
D3BD96571C0DD00400163D8B /* Frameworks */,
|
||||
D3BD96581C0DD00400163D8B /* Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
C3C5896F2191925E00DAC94C /* PBXBuildRule */,
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = tbbExample_ios;
|
||||
productName = tbbExample_ios;
|
||||
productReference = D3BD96BB1C0E19E700163D8B /* tbbExample.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
84D017481527431F0008A4E0 /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
CLASSPREFIX = tbb;
|
||||
LastUpgradeCheck = 0710;
|
||||
TargetAttributes = {
|
||||
D3BD96591C0DD00400163D8B = {
|
||||
CreatedOnToolsVersion = 7.1.1;
|
||||
DevelopmentTeam = 7J8M3RM94C;
|
||||
};
|
||||
};
|
||||
};
|
||||
buildConfigurationList = 84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "seismic" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
en,
|
||||
Base,
|
||||
);
|
||||
mainGroup = 84D017461527431F0008A4E0;
|
||||
productRefGroup = 84D017521527431F0008A4E0 /* Products */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
84D017501527431F0008A4E0 /* tbbExample */,
|
||||
D3BD96591C0DD00400163D8B /* tbbExample_ios */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
84D0174F1527431F0008A4E0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D3BD96B51C0E0B2200163D8B /* tbbExample-Info.plist in Resources */,
|
||||
84B8DA7A152CA90100D59B95 /* (null) in Resources */,
|
||||
84B8DA80152CA97B00D59B95 /* InfoPlist.strings in Resources */,
|
||||
84B8DA81152CA97B00D59B95 /* MainMenu.xib in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D3BD96581C0DD00400163D8B /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D3BD96B81C0E11CE00163D8B /* iOS.storyboard in Resources */,
|
||||
D3BD96B31C0E0AFE00163D8B /* tbbExample-Info.ios.plist in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
84D0174D1527431F0008A4E0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
84B8DA78152CA90100D59B95 /* OpenGLView.m in Sources */,
|
||||
84B8DA79152CA90100D59B95 /* tbbAppDelegate.m in Sources */,
|
||||
84B8DA87152CA99C00D59B95 /* main.cpp in Sources */,
|
||||
D3BD96A31C0DE2BB00163D8B /* macvideo.cpp in Sources */,
|
||||
84B8DA88152CA99C00D59B95 /* seismic_video.cpp in Sources */,
|
||||
D3BD96A61C0DE3DE00163D8B /* main.m in Sources */,
|
||||
84B8DA89152CA99C00D59B95 /* universe.cpp in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
D3BD96561C0DD00400163D8B /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
D3BD96941C0DD57600163D8B /* universe.cpp in Sources */,
|
||||
D3BD96921C0DD55E00163D8B /* main.cpp in Sources */,
|
||||
D3BD96951C0DD59200163D8B /* macvideo.cpp in Sources */,
|
||||
D3BD96931C0DD56900163D8B /* seismic_video.cpp in Sources */,
|
||||
D3BD96971C0DD5A900163D8B /* tbbAppDelegate.m in Sources */,
|
||||
D3BD96AB1C0E08E500163D8B /* main.m in Sources */,
|
||||
D3BD96961C0DD5A000163D8B /* OpenGLView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
84B8DA7C152CA97B00D59B95 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
84B8DA7D152CA97B00D59B95 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
84B8DA7E152CA97B00D59B95 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
84B8DA7F152CA97B00D59B95 /* en */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
84D01770152743200008A4E0 /* Debug64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++11";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
);
|
||||
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
|
||||
GCC_VERSION = "";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(TBBROOT)/include",
|
||||
/opt/intel/tbb/include,
|
||||
);
|
||||
ICC_CXX_LANG_DIALECT = "c++11";
|
||||
ICC_TBB = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(TBBROOT)/lib",
|
||||
/opt/intel/tbb/lib,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = (
|
||||
"-m64",
|
||||
"-ltbb_debug",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
VALID_ARCHS = x86_64;
|
||||
};
|
||||
name = Debug64;
|
||||
};
|
||||
84D01771152743200008A4E0 /* Release64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "c++11";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_OBJC_ARC = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_C_LANGUAGE_STANDARD = c11;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_INCREASE_PRECOMPILED_HEADER_SHARING = NO;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_VERSION = "";
|
||||
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
HEADER_SEARCH_PATHS = (
|
||||
"$(TBBROOT)/include",
|
||||
/opt/intel/tbb/include,
|
||||
);
|
||||
ICC_CXX_LANG_DIALECT = "c++11";
|
||||
ICC_TBB = YES;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(TBBROOT)/lib /opt/intel/tbb/lib";
|
||||
LIBRARY_SEARCH_PATHS = (
|
||||
"$(TBBROOT)/lib",
|
||||
/opt/intel/tbb/lib,
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
OTHER_LDFLAGS = (
|
||||
"-m64",
|
||||
"-ltbb",
|
||||
);
|
||||
SDKROOT = macosx;
|
||||
VALID_ARCHS = x86_64;
|
||||
};
|
||||
name = Release64;
|
||||
};
|
||||
84D01773152743200008A4E0 /* Debug64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
|
||||
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "Intel.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
RUN_CLANG_STATIC_ANALYZER = YES;
|
||||
USER_HEADER_SEARCH_PATHS = "";
|
||||
VERSION_INFO_BUILDER = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Debug64;
|
||||
};
|
||||
84D01774152743200008A4E0 /* Release64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(ARCHS_STANDARD)";
|
||||
CLANG_ENABLE_OBJC_ARC = NO;
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "../../../common/gui/xcode/tbbExample/tbbExample-Prefix.pch";
|
||||
HEADER_SEARCH_PATHS = "$(inherited)";
|
||||
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.plist";
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
|
||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "Intel.${PRODUCT_NAME:rfc1034identifier}";
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
RUN_CLANG_STATIC_ANALYZER = YES;
|
||||
USER_HEADER_SEARCH_PATHS = "";
|
||||
VERSION_INFO_BUILDER = "$(TARGET_NAME)";
|
||||
WRAPPER_EXTENSION = app;
|
||||
};
|
||||
name = Release64;
|
||||
};
|
||||
D3BD96851C0DD00500163D8B /* Debug64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = (
|
||||
"DEBUG=1",
|
||||
"$(inherited)",
|
||||
"__TBB_IOS=1",
|
||||
);
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../../lib/ios\"";
|
||||
MTL_ENABLE_DEBUG_INFO = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
|
||||
PRODUCT_NAME = tbbExample;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
};
|
||||
name = Debug64;
|
||||
};
|
||||
D3BD96861C0DD00500163D8B /* Release64 */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||
CLANG_CXX_LIBRARY = "libc++";
|
||||
CLANG_ENABLE_MODULES = YES;
|
||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||
CLANG_WARN_CONSTANT_CONVERSION = YES;
|
||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
|
||||
CLANG_WARN_EMPTY_BODY = YES;
|
||||
CLANG_WARN_ENUM_CONVERSION = YES;
|
||||
CLANG_WARN_INT_CONVERSION = YES;
|
||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
|
||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
ENABLE_NS_ASSERTIONS = NO;
|
||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||
GCC_NO_COMMON_BLOCKS = YES;
|
||||
GCC_PREPROCESSOR_DEFINITIONS = "__TBB_IOS=1";
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
||||
GCC_WARN_UNDECLARED_SELECTOR = YES;
|
||||
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
||||
GCC_WARN_UNUSED_FUNCTION = YES;
|
||||
INFOPLIST_FILE = "../../../common/gui/xcode/tbbExample/tbbExample-Info.ios.plist";
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 9.1;
|
||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path";
|
||||
LIBRARY_SEARCH_PATHS = "\"$(SRCROOT)/../../../../lib/ios\"";
|
||||
MTL_ENABLE_DEBUG_INFO = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.tbb.example;
|
||||
PRODUCT_NAME = tbbExample;
|
||||
SDKROOT = iphoneos;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
};
|
||||
name = Release64;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
84D0174B1527431F0008A4E0 /* Build configuration list for PBXProject "seismic" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
84D01770152743200008A4E0 /* Debug64 */,
|
||||
84D01771152743200008A4E0 /* Release64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release64;
|
||||
};
|
||||
84D01772152743200008A4E0 /* Build configuration list for PBXNativeTarget "tbbExample" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
84D01773152743200008A4E0 /* Debug64 */,
|
||||
84D01774152743200008A4E0 /* Release64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release64;
|
||||
};
|
||||
D3BD96841C0DD00500163D8B /* Build configuration list for PBXNativeTarget "tbbExample_ios" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
D3BD96851C0DD00500163D8B /* Debug64 */,
|
||||
D3BD96861C0DD00500163D8B /* Release64 */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release64;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 84D017481527431F0008A4E0 /* Project object */;
|
||||
}
|
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD96591C0DD00400163D8B"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample_ios"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "NO"
|
||||
buildForRunning = "NO"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD96711C0DD00400163D8B"
|
||||
BuildableName = "com.tbb.exampleTests.xctest"
|
||||
BlueprintName = "com.tbb.exampleTests"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "NO"
|
||||
buildForRunning = "NO"
|
||||
buildForProfiling = "NO"
|
||||
buildForArchiving = "NO"
|
||||
buildForAnalyzing = "NO">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD967C1C0DD00500163D8B"
|
||||
BuildableName = "com.tbb.exampleUITests.xctest"
|
||||
BlueprintName = "com.tbb.exampleUITests"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD96591C0DD00400163D8B"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample_ios"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD96591C0DD00400163D8B"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample_ios"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "D3BD96591C0DD00400163D8B"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample_ios"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
@@ -0,0 +1,99 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "0710"
|
||||
version = "1.3">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "84D017501527431F0008A4E0"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample"
|
||||
ReferencedContainer = "container:tbbExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<Testables>
|
||||
</Testables>
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "84D017501527431F0008A4E0"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</MacroExpansion>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
customWorkingDirectory = "/tmp"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "NO"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "84D017501527431F0008A4E0"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample"
|
||||
ReferencedContainer = "container:seismic.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<EnvironmentVariables>
|
||||
<EnvironmentVariable
|
||||
key = "DYLD_LIBRARY_PATH"
|
||||
value = "$(SRCROOT)/../../../../lib"
|
||||
isEnabled = "YES">
|
||||
</EnvironmentVariable>
|
||||
</EnvironmentVariables>
|
||||
<AdditionalOptions>
|
||||
</AdditionalOptions>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "84D017501527431F0008A4E0"
|
||||
BuildableName = "tbbExample.app"
|
||||
BlueprintName = "tbbExample"
|
||||
ReferencedContainer = "container:tbbExample.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
Reference in New Issue
Block a user