CN103268342A - DEM dynamic visualization accelerating system and method based on CUDA - Google Patents
DEM dynamic visualization accelerating system and method based on CUDA Download PDFInfo
- Publication number
- CN103268342A CN103268342A CN2013101949673A CN201310194967A CN103268342A CN 103268342 A CN103268342 A CN 103268342A CN 2013101949673 A CN2013101949673 A CN 2013101949673A CN 201310194967 A CN201310194967 A CN 201310194967A CN 103268342 A CN103268342 A CN 103268342A
- Authority
- CN
- China
- Prior art keywords
- lod
- dem
- cuda
- data
- elevation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
The invention provides a DEM (Digital Elevation Model) dynamic visualization accelerating method based on a CUDA (Computer Unified Device Architecture) technology. The DEM dynamic visualization accelerating method comprises a data preprocessing method, a dynamic visualization method and a parallel co-scheduling method, wherein the data preprocessing method achieves that tile data capable of dynamically loading are generated under a parallel environment, the dynamic visualization method comprises visualization acceleration and computation acceleration, namely LOD (Level of Detail) is used for accelerating visualization, the CUDA is used for accelerating topographic changes so as to achieve computation, and the parallel co-scheduling method achieves parallel and co-scheduling of four operations of external storage-internal storage data exchange, internal storage-video memory data exchange, CPU computation and CUDA (GPU) computation. The dynamic visualization accelerating method can meet the requirement for displaying the large-scale dynamic DEM.
Description
Technical field
The invention belongs to the visual field of high-performance geography information.Be specifically related to a kind of DEM (Digital Elevation Model, digital elevation model) dynamic and visual accelerating system and method based on CUDA (Compute Unified Device Architecture, general parallel computation framework) technology.
Background technology
Geomorphological process and evolution are importances in the earth science research always.Before the sixties in 20th century. the research that landforms are developed mostly concentrates on the landforms evolution theoretical model.In nearest 30 years, The application of new technique such as simulated experiment, precision measurement, Geographic Information System and remote sensing are for solid foundation has been established in morphological quantitative examination.The landforms mathematical statistics method becomes better and approaching perfection day by day, and the focus of current research and difficult point are based on dynamics and set up geomorphological process-response mathematical model, emulation landforms evolutionary process.
(Digital Elevation Model DEM) is a kind of important data of research face of land process/tectonic landform to digital elevation model.The dynamic and visual of DEM is a kind of efficient ways of landforms evolution emulation.Its process can be divided into for two steps:
The first, based on the landforms demonstration of dem data.DEM has directly described essential information---the elevation of landform, can be converted into easily to show essential polygon vertex, cooperates texture mapping to improve effect of visualization, just can demonstrate landforms true to nature.
The second, in conjunction with the landforms change calculations of DEM neighborhood analysis.The neighborhood analysis of DEM (as, gradient analysis, aspect analysis, rim detection, filter change etc.), can extract a lot of master datas.In landforms emulation, often utilize neighborhood analysis result (as the gradient, aspect) the contact thematic data (as rainfall, soil information) of DEM, the elevation that calculates landform changes.Before each frame was played up, on the basis of original landforms elevation, the elevation variable quantity that stack newly calculates just can be realized dynamic demonstration.
(Geographical Information System, GIS) field need the dem data of demonstration in large scale, and all there is difficulty in the realizations in above-mentioned two steps in Geographic Information System.For the first step---show that based on the landforms of dem data the polygon vertex that needs in the algorithm directly perceived to show has simultaneously surpassed the ability of existing hardware, can not satisfy the demand of real-time demonstration.This respect, existing a lot of fruitful researchs, formed that a comprehensive utilization graticule mesh is simplified, the level of detail model (Level-Of-Detail, LOD), the method system of multiple technologies such as interior external memory optimizing scheduling.Utilize these, can solve the problem of display efficiency.For second step, the stack that the variable quantity calculating of the analysis of DEM neighborhood, landform altitude, original landforms and elevation change, but all have the characteristics of parallelization.In conjunction with CUDA (Compute Unified Device Architecture, general parallel computation framework) is general-purpose computations (the General Purpose GPU of the GPU of representative, GPGPU) method, large-scale calculating can be accelerated significantly, solves the problem of counting yield.
Though, acceleration demonstration individually, counting yield have had proven technique, but being used in combination but of two kinds of technology is not easy, also need to solve and how to play up flow process embedding CUDA calculating, rationally arrange the execution of CPU, GPU end to wait for the problems such as unified scheduling of external memory, internal memory, video memory to reduce.
Summary of the invention
The present invention proposes a kind of DEM dynamic and visual accelerating system and method based on CUDA, purpose provides a general accelerated method, can utilize the efficient visualization technique of existing DEM to show large-scale dem data, can finish the calculating of landform dynamic change again in conjunction with CUDA efficiently.
In order to achieve the above object, technical scheme of the present invention is as follows:
A kind of DEM dynamic and visual accelerating system based on CUDA, comprising: data preprocessing module, dynamic and visual module and concurrent collaborative scheduler module is characterized in that:
Described data preprocessing module cuts into tile (be about to a big file, be divided into a plurality of small documents with standalone feature) for the data that will show and calculate usefulness, and the dynamic load during for demonstration is prepared data; Pre-service is finished under distributed environment, compares stand-alone environment and can significantly obtain acceleration.Its implementation is as follows: the raw data of cutting is divided into dem data and thematic data; The result of cutting is LOD, tile DEM, tile thematic data (both are collectively referred to as the tile data back).Have hierarchical structure between the LOD, the corresponding different display resolution of different levels LOD, the LOD of each level is divided into a plurality of small documents, and the represented graticule mesh number of each small documents is identical.The tile data are not had a hierarchical structure, only big file division are become the identical file of size, the geographic range of each small documents correspondence, and the scope corresponding with file among the bottom LOD is identical.In the distributed data pre-service, as server, be a plurality of client allocating tasks with a computing machine.
Described dynamic and visual module comprises visual accelerator module and dynamic calculation accelerator module.
Wherein, the purpose of visual accelerator module is to reduce the polygon vertex quantity that shows with screen, uses LOD to finish this target, uses scene graph to organize LOD simultaneously, makes hierarchical structure more clear, and accelerates to play up flow process.Its implementation is as follows: scene graph is organized LOD with the form stratification of quaternary tree.That is, the LOD of a low resolution is to there being the high-resolution slightly LOD of 4 same geographic ranges, with the child node of these 4 LOD as low resolution LOD; And by that analogy, these 4 LOD also will have the child node of oneself.By this method for organizing, make playing up in the flow process (upgrading---selection---plays up) of scene graph can reduce some unnecessary calculating, obtain to accelerate.
The purpose of dynamic calculation accelerator module be calculate the variation of DEM between two frames fast and with change application in LOD, use CUDA replaced C PU to calculate to finish this target, simultaneously CUDA calculating is combined with the scene graph tissue, make procedure for displaying correct, efficient.Its implementation is as follows: based on tile DEM and tile thematic data, the elevation that uses CUDA to calculate DEM changes; Be computing module of node increase of scene graph, in the renewal traversal of scene graph, this computing module uses CUDA that elevation is changed the LOD that is added to.Last rendering result will demonstrate dynamic DEM.
Described concurrent collaborative scheduler module, make that the exchange of external memory (being mainly hard disk) internal storage data, internal memory-video memory exchanges data, CPU calculate, CUDA (GPU) calculates the four kinds of operations that can carry out simultaneously, not influencing parallel processing under the prerequisite that shows the result, improve display efficiency.Its implementation is as follows: the optimization of inside and outside deposit data exchange is mainly by reading realization in advance, internal memory-video memory exchanges data does not have the obvious results optimization method, the optimization that CPU calculates scheduling realizes that by the dynamic LOD of calculating of elder generation the optimization that CUDA calculates scheduling is distributed in the different step realization of playing up by the different step with CUDA calculating.
The present invention also comprises a kind of DEM dynamic and visual accelerated method based on CUDA, comprises the steps:
1) generate to show LOD, tile DEM, the tile thematic data that needs usefulness by the data pre-service, as after the data presented basis.
2) dynamically the demonstration of DEM is divided into 4 steps:
2.1) DEM elevation change calculations:
Using CUDA to begin to calculate needs the dynamically DEM elevation variation in the zone of demonstration.Can be fully calculate parallelly with CPU because CUDA calculates, in order to accelerate to play up flow process, a lot of calculating in the variation of DEM elevation are executed in parallel in follow-up three go on foot.
2.2) renewal of scene graph traversal:
The traversal scene graph is chosen the LOD that needs demonstration; Use CUDA that the DEM elevation is changed on the LOD that needs dynamically to show that is added to.
The renewal traversal of scene graph comprised for two steps:
The first step: the hierarchical structure of utilizing scene graph, select the LOD that needs demonstration efficiently, implementation method is: scene graph is organized LOD with the form stratification of quaternary tree, the LOD of a low resolution, to the high-resolution slightly LOD of 4 same geographic ranges should be arranged, with the child node of these 4 LOD as low resolution LOD; And by that analogy, these 4 LOD also will have the child node of oneself; If the LOD of low resolution is not in indication range, then corresponding high-resolution LOD needn't repeat to judge also scarcely in indication range;
Second step: use CUDA that the DEM elevation is changed on the LOD that needs dynamically to show that is added to, implementation method is: each node of scene graph is embodied as the LOD node that can call the CUDA function, hereinafter to be referred as the CUDA-LOD node; The CUDA-LOD node comprises computing function and quoting computational resource for the LOD node has increased a computing module in the computing module; The CUDA-LOD node allows computing module that the resource of this node and all child nodes thereof is conducted interviews, and will carry out the computing function in the computing module when node updates travels through, and computing function calls the CUDA kernel function and finishes parallel computation; Because the CUDA-LOD resolution difference of different levels, net point wherein is not corresponding one by one with the elevation delta data of tile DEM, but has mapping relations, need realize these mapping relations in computing function.
2.3) selection of scene graph traversal:
Selection traversal is the steps necessary that scene graph is played up, but for purposes of the invention, choose earlier could determine scene graph, just can carry out the stack that the DEM elevation changes to LOD; So the selection of LOD is in step 2.2) in finish.This step is carried out any calculating hardly.
2.4) scene graph play up traversal:
The LOD that needs are played up uses GPU to finish final rendering.
Beneficial effect of the present invention: technical solutions according to the invention, the calculating of dynamically developing in the time of the computation capability of GPU being shown for extensive DEM, and realizing the exchanges data of external memory-internal memory-video memory efficiently, the demand that extensive dynamically DEM shows is satisfied in the parallel computation of CPU, GPU.
Description of drawings
Fig. 1 the inventive method process flow diagram
Fig. 2 embodiment accompanying drawing
Embodiment
The data pre-service.Among the GIS, the data of large-scale DEM, its storage size usually surpass the capacity of internal memory, so need carry out pre-service (mainly being to cut into little block file) with relevant thematic data to DEM, realize dynamic load.Described data pre-service is a kind of parallel data pre-service, finishes under distributed environment.During parallel processing, the granularity of task need be set rationally, when single file hour, should be bound into a task to the generation of a plurality of files.
Pre-service need be finished two-part operation:
1. generate the LOD that shows usefulness by DEM, the dynamic load when realizing showing.LOD is geometry graticule mesh of the different resolution that generated by original DEM, when showing, according to viewpoint far/LOD of the high/low resolution of near call, under the condition of losing details hardly, improve display efficiency.LOD is with quad-tree structure stratification tissue, and ground floor LOD represents whole DEM zone, afterwards each layer LOD refinement successively, and each LOD node saves as a file.As, ground floor LOD has 1 node, presents whole zone with the resolution of 64*64; Second layer LOD has 4 nodes, presents whole zone with the resolution of 128*128, and the graticule mesh number of each node still is 64*64,1/4 of corresponding whole zone; The 3rd layer of resolution is 256*256, and node is several 16, and the graticule mesh number of each node still reaches the resolution of original dem data until bottom LOD for 64*64.......
2. cut DEM and relevant thematic data, the dynamic load when realizing calculating.Dem data all needs to cut into the piece corresponding with bottom LOD with relevant thematic data.As, the dem data of a 1024*1024, each node resolution is 64*64 among the LOD of generation, the bottom has the 16*16=256 piece, DEM and thematic data also will cut into corresponding 256 so, and every represented geographical space is corresponding with LOD, is called tile DEM and tile thematic data.According to the size of DEM neighborhood operator, have certain overlapping covered between tile DEM.
Visual acceleration: use scene graph and LOD.LOD has the relation of tangible stratification when generating, but can not embody this point when organizing in the mode of file on hard disk, use this hierarchical relationship in demonstration, needs to use scene graph.Scene graph is organized multilayer LOD with the form stratification of quaternary tree, and this structure will produce very big help to dynamic load, selection in procedure for displaying from now on.Because LOD is the roughening of original DEM, each LOD has certain geometric error.When showing, set the threshold value of a screen error.In scene graph, begin to judge that each LOD will calculate the screen error according to viewpoint position and the geometric error of self from ground floor LOD, if the screen error less than threshold values then show this LOD, otherwise, enter down one deck LOD and repeat above-mentioned flow process.Scene graph is finished the tissue that shows resource on the one hand, on the other hand also corresponding a kind of flow process of playing up efficiently.Scene graph play up flow process, carry out three kinds of traversing operations successively:
1. upgrade: in upgrading traversal, the scene shape library guarantees that all show that resource all is ready to finish play up, comprise and change scene graph structure (adding, delete, change node), more the data of new node (using CUDA to finish the stack of LOD and the variation of DEM elevation).Upgrading traversal and allow the modification of program scene graph, is the key that realizes dynamic scene.
2. selection: in the selection traversal, the scene shape library checks the enclosure body of all nodes in the scene.If a node is in viewport, the scene shape library will be played up of adding this node in the tabulation and quotes final.
3. draw: in drawing traversal, the scene figure will travel through the tabulation of playing up by the generation of selection ergodic process, call bottom API, use GPU to play up solid.
The calculating of dynamic change is accelerated: use CUDA to calculate, CUDA is calculated the embedding scene graph play up flow process.Geomorphological process can use landforms evolutionary process equation to calculate.The landforms evolutionary process equation shape of classics as:
h=R+C
H represents elevation, and R represents the basement rock elevation, and C is weathering depth, and U represents to construct uplift rate, and w is the basement rock surface changing down that causes owing to weathering, and E is process bedroom, basement rock cheuch river speed, Q
sBe cheuch sediment bypassing speed, q
mBe the domatic sediment bypassing speed of unit width.Some parameters need be used thematic data, relate to lithology, q as w
mRelate to precipitation, some need use the topography and geomorphology key element, as q
mRelate to domatic process, need to consider the gradient, aspect.The topography and geomorphology key element be calculated as the analysis of DEM neighborhood, use CUDA can obtain good acceleration effect; The elevation variation is calculated in the parameter and the stack of a plurality of parameter that relate to thematic data, also has the characteristics that can walk abreast and accelerate; Can obtain good acceleration effect so use CUDA to finish these calculating.
The DEM dynamic change is the technique of expression of geomorphological process, and in program, the zone that needs dynamically to show is to determine according to user's selection, and remaining area is still done static the demonstration.
Show dynamic scene, scene graph play up flow process before, the elevation that need calculate the favored area DEM of institute earlier changes.Because DEM is cut into DEM tile and dynamic load, directly record institute's favored area after calculating in and inconvenience.Program records the tile DEM, thematic data and the corresponding dynamic range of each tile that load according to institute's favored area.According to tile DEM, tile thematic data, dynamic area scope, use CUDA calculates the elevation of having a few among each tile DEM and changes (being that this frame is with respect to the elevation variation of previous frame) afterwards, and the elevation in dynamic range is not changed to 0.Afterwards elevation is changed stack with the DEM tile, calculate DEM elevation after changing, carry out data for the calculating of next frame and prepare.The total elevation that also needs to record from original DEM to up-to-date DEM changes, these data when LOD reloads, will use (as, during LOD change resolution that the same area need show, need reload corresponding LOD).In a word, each frame need calculate new DEM elevation and the DEM elevation changes, the total elevation of DEM changes three data, and the variation of DEM elevation and the total elevation of DEM are also with the corresponding preservation with DEM of the form of tile data.
After DEM elevation change calculations was finished, DEM elevation delta data is added to be shown on the resource (being LOD), just can realize the dynamic demonstration of DEM.To in the scene graph structure, effectively finish this step, need each node of scene graph is embodied as the LOD node (hereinafter to be referred as the CUDA-LOD node) that can call the CUDA function.The CUDA-LOD node comprises computing function and quoting computational resource for the LOD node has increased a computing module in the computing module.The CUDA-LOD node allows computing module that the resource of this node and all child nodes thereof is conducted interviews, and will carry out the computing function in the computing module when node updates travels through, and computing function calls the CUDA kernel function and finishes parallel computation.The front is mentioned, and each bottom LOD is corresponding with a tile DEM.With the elevation delta data of this tile DEM correspondence, as the resource (being initially sky) of the bottom node of CUDA-LOD.The elevation of the bottom child node of the computing module visit of CUDA-LOD node oneself changes resource, if all be empty, does not then calculate, if be not empty, then calls computing function, changes the polygon vertex of change CUDA-LOD node according to elevation.Because the CUDA-LOD resolution difference of different levels is not corresponding one by one with the elevation delta data of tile DEM, but there are mapping relations (may be one to one or one-to-many), need in computing function, realize these mapping relations.When user's roaming scence, when making LOD change resolution in the dynamic display area territory, the elevation of the new LOD that loads is the original elevations of data, need be the total delta data of new LOD stack DEM elevation, rather than the DEM elevation delta data between two frames.
Parallel, cooperative scheduling.Each frame play up four steps of branch: the renewal of DEM elevation change calculations and scene graph, selection, drafting traversal.Need consider during the program operation that external memory-internal storage data exchange, internal memory-video memory exchanges data, CPU calculate, parallel, the cooperative scheduling of CUDA (GPU) calculating in above-mentioned four steps.So-called parallel scheduling namely is in due course, and two or more can the operation simultaneously in above-mentioned four raised the efficiency; So-called cooperative scheduling namely guarantees the correctness of operation, will guarantee during the data copy that data are calculated to finish, and will guarantee during calculating that data are to copy completely.
Inside and outside deposit data exchange comprises: 1. the release of reading 3. data in advance of reading 2. data of data.The data of interior external memory exchange have LOD and tile data (tile DEM and tile thematic data) two classes.The tile data are used for the calculating that elevation changes, relevant with the dynamic display area territory that the user selects, reading and discharging simply of data just read after the user has selected the zone, when the user abandons the dynamic demonstration of certain panel region, just discharge, do not have the problem of data pre-head.Reading in when upgrading traversal of LOD realize, when the LOD that needs to show in detecting current viewport does not exist in internal memory, just reads data from external memory.Excessive as if the data volume that needs simultaneously to read, display efficiency can't guarantee that this just needs reading in advance of data.Because the continuity that viewpoint changes, can read the LOD of each current demonstration high one deck of LOD and ground floor resolution in advance, and not in current viewport but with viewport in abutting connection with or from the nearer LOD of viewport; The concrete LOD quantity of reading in advance will determine according to the size of program free memory.The release of LOD namely discharges the LOD that those least may be reused, and needs to consider that viewport position and LOD leave the time of viewport; Need to discharge when dynamically the LOD that shows is no longer shown at once, because when this LOD is shown again, need calculate the demonstration result according to original LOD and total elevation delta data, dynamic demonstration result before is the intermediate result that can't be reused.LOD reads in advance and discharges and can realize at the arbitrary steps of playing up.
Internal memory-video memory exchanges data comprises: 1. the copy of the copy 2. video memorys-internal memory of internal memory-video memory.Preserve all CUDA in the video memory and calculate the data of using, comprise LOD polygon vertex data and tile data (tile DEM, tile thematic data, the variation of tile elevation, tile elevation always change).The copy of internal memory-video memory only occurs in when using data for the first time, the copy of tile DEM and tile thematic data just carries out after the user has selected the dynamic area, the copy of LOD polygon vertex data realizes in upgrading traversal, just operation when the dynamic LOD that needs to show in detecting current viewport does not exist in video memory.Each frame of the copy of video memory-internal memory all carries out, only relate to LOD polygon vertex data, in upgrading traversal, when to detect a LOD who needs to show be dynamic, just carry out the stack calculating that LOD and tile elevation change (or elevation always changes), carry out copy after calculating is finished.Change and finish when very fast, also can carry out the pre-copy of video memory-internal memory using CUDA to calculate elevation, suppose that namely the LOD that this frame shows is identical with previous frame, carry out subsequent calculations and copy in advance, but generally do not need pre-copy.
CUDA calculates, and comprising: 1.DEM elevation change calculations 2.LOD stack elevation changes.DEM elevation change calculations is the first step of playing up, and LOD stack elevation changes in second step renewal traversal to be finished.The DEM elevation changes and carries out in order following three steps: 1). elevation change calculations 2). the total change calculations 3 of elevation). new DEM elevation calculates.CUDA calculates and can calculate executed in parallel with CPU fully, need not wait for namely that any calculating is finished just can begin renewal and travel through.But be the correctness of guarantee calculating, in upgrading traversal, carry out before LOD stack elevation changes, finish " 1) .DEM elevation change calculations " with the corresponding tile of LOD, will finish sometimes " 2). the total change calculations of elevation ".So, when the renewal traversal is finished, necessarily finished all elevation change calculations, may finish the total change calculations of part or all of elevation.New DEM elevation calculates after the renewal traversal, carries out jointly with choosing and draw traversal, but finishes before will beginning in the calculating of next frame.
CPU calculates, and relates to renewal, selection, draws traversal.In drawing traversal, draw dynamic LOD earlier, draw static LOD again, drawing traversal for before finishing, just can begin four steps of playing up of next frame like this.
Embodiment:
Making the dynamic and visual that rainwash corrodes with the dem data of a graticule mesh number 256*256 (the grid points number is 257*257) below is example, and embodiments of the present invention are described in detail in detail.
1. data pre-service:
Raw data comprises dem data and rainfall data.In pre-service, selected 64*64 is as the size of each LOD, then the DEM of 256*256 should corresponding 3 layers of LOD, ground floor is labeled as 0, the second layer is labeled as 00,01,02,03, the three layer and is labeled as 000,001,002,003,010,011,012,013,020,021,022,023,030,031,032,033; DEM and rainfall data also are cut into corresponding 16 blocks of tiles, are labeled as 000,001,002,003,010,011,012,013,020,021,022,023,030,031,032,033.
2. the demonstration of static scene:
The user is in procedure Selection and show this DEM.Then program generates the scene graph structure of being made up of the CUDA-LOD node according to configuration file, but each node actual loaded data not.According to the viewpoint (generally being made as distant) of acquiescence, calculate the screen error of ground floor CUDA-LOD, meet the demands, read LOD-0, and show.The user roams in program, arrives a certain viewpoint, and at this moment the screen error of CUDA-LOD-0 correspondence can not satisfy the demonstration demand, enters down one deck CUDA-LOD, carries out depth-first traversal.CUDA-LOD-02,03 satisfies the screen error threshold, load CUDA-LOD-02,03, CUDA-LOD-00,01 does not satisfy the screen error threshold, enter down one deck CUDA-LOD again, owing to arrived the bottom, need not judge the screen error, directly load 000,001,002,003,010,011,012,013, all read and show after finishing.
3. dynamic, static mixed display:
The formula that rainwash corrodes can be reduced to
Wherein, Q representation unit width run-off, S represents the gradient, β, m, n, k are model parameters.
The user has selected a slice to need the dynamically zone of demonstration soil erosion process in scene, as Fig. 2.Screen coordinate according to choosing calculates geometric coordinate; Among this area part the is overlapping tile DEM 000,001,002,003 and 020,021.Read corresponding tile DEM, tile rainfall data, according to tile DEM, tile thematic data, dynamic area scope, the elevation that uses CUDA to calculate each point among each tile DEM changes.Corrode formula according to the rainwash of simplifying, at first need use the analysis of DEM neighborhood, calculate gradient S, use S and rainfall data computation to go out unit width run-off Q afterwards, at last with Q, S, β, m, n, k substitution formula, calculate elevation and change.After above-mentioned steps is finished, playing up of beginning scene graph, need to show that node still is 000,001,002,003,010,011,012,013,02,03, and therefore 010,011,012,013,03 node and bottom child node thereof never call computing function not to there being elevation to change resource.000,001,002,003 respectively corresponding elevation changes resource 000,001,002, the corresponding elevation of 003,02 node changes resource 020,021, need call computing function.000,001,002,003 polygon graticule mesh changes resource with elevation and shines upon one by one, and the mapping relations that 02 node and elevation change resource 020 are (x, y)-(2x, 2y) (x ∈ (0,32), y ∈ (0,32)), the mapping relations that 02 node and elevation change resource 021 be (x, y)-(2x-64,2y) (x ∈ (32,64), y ∈ (0,32)).According to mapping relations, the polygon vertex of finishing all dynamic nodes upgrades, last graphing.
The user is in the continuous roaming of scene relaying, because the variation of viewpoint shows that node becomes 00,01,02,03.Wherein 00,01 needs to load from external memory again.The node (namely to there being elevation to change the node of resource) that needs dynamically to show is 00,02.Wherein 02 dynamically shows in previous frame, can calculate new elevation in LOD stack " variation of DEM elevation " data; 00 is the new LOD that loads, and needs stack " the total elevation of DEM changes " data to calculate new elevation.
Claims (9)
1. DEM dynamic and visual accelerating system based on CUDA, comprising: data preprocessing module, dynamic and visual module and concurrent collaborative scheduler module is characterized in that:
Described data preprocessing module cuts into tile for the data that will show and calculate usefulness, and the dynamic load during for demonstration is prepared data; Pre-service is finished under distributed environment, compares stand-alone environment and can significantly obtain acceleration;
Described dynamic and visual module comprises visual accelerator module and dynamic calculation accelerator module;
Wherein, the purpose of visual accelerator module is to reduce the polygon vertex quantity that shows with screen, uses LOD to finish this target, uses scene graph to organize LOD simultaneously, makes hierarchical structure more clear, and accelerates to play up flow process;
The purpose of dynamic calculation accelerator module be calculate the variation of DEM between two frames fast and with change application in LOD, use CUDA replaced C PU to calculate to finish this target, simultaneously CUDA calculating is combined with the scene graph tissue, make procedure for displaying correct, efficient;
Described concurrent collaborative scheduler module makes that external memory-internal storage data exchange, internal memory-video memory exchanges data, CPU calculate, CUDA calculates the four kinds of operations that can carry out simultaneously, not influencing parallel processing under the prerequisite that shows the result, improves display efficiency.
2. the DEM dynamic and visual accelerating system based on CUDA as claimed in claim 1 is characterized in that, described data preprocessing module, and its implementation is as follows: the raw data of cutting is divided into dem data and thematic data; The result of cutting is LOD, tile DEM, tile thematic data; Have hierarchical structure between the LOD, the corresponding different display resolution of different levels LOD, the LOD of each level is divided into a plurality of small documents, and the represented graticule mesh number of each small documents is identical; The tile data are not had a hierarchical structure, only big file division are become the identical file of size, the geographic range of each small documents correspondence, and the scope corresponding with file among the bottom LOD is identical; In the distributed data pre-service, as server, be a plurality of client allocating tasks with a computing machine.
3. the DEM dynamic and visual accelerating system based on CUDA as claimed in claim 1, it is characterized in that, described visual accelerator module, its implementation is as follows: scene graph is organized LOD with the form stratification of quaternary tree, namely, the LOD of a low resolution is to there being the high-resolution slightly LOD of 4 same geographic ranges, with the child node of these 4 LOD as low resolution LOD; And by that analogy, these 4 LOD also will have the child node of oneself; By this method for organizing, make playing up of scene graph can reduce some unnecessary calculating in the flow process, obtain to accelerate.
4. the DEM dynamic and visual accelerating system based on CUDA as claimed in claim 1 is characterized in that, described dynamic calculation accelerator module, and its implementation is as follows: based on tile DEM and tile thematic data, the elevation that uses CUDA to calculate DEM changes; Be computing module of node increase of scene graph, in the renewal traversal of scene graph, this computing module uses CUDA that elevation is changed the LOD that is added to; Last rendering result will demonstrate dynamic DEM.
5. the DEM dynamic and visual accelerating system based on CUDA as claimed in claim 1, it is characterized in that, described concurrent collaborative scheduler module, its implementation is as follows: the optimization of inside and outside deposit data exchange is mainly by reading realization in advance, internal memory-video memory exchanges data does not have the obvious results optimization method, the optimization that CPU calculates scheduling realizes that by the dynamic LOD of calculating of elder generation the optimization that CUDA calculates scheduling is distributed in the different step realization of playing up by the different step with CUDA calculating.
6. the DEM dynamic and visual accelerated method based on CUDA comprises the steps:
1) generate to show LOD, tile DEM, the tile thematic data that needs usefulness by the data pre-service, as after the data presented basis;
2) dynamically the demonstration of DEM is divided into four steps:
2.1) DEM elevation change calculations: using CUDA to begin to calculate needs the dynamically DEM elevation variation in the zone of demonstration;
2.2) renewal of scene graph traversal: the traversal scene graph, choosing needs the LOD that shows; Use CUDA that the DEM elevation is changed on the LOD that needs dynamically to show that is added to;
2.3) selection of scene graph traversal: the selection traversal is the steps necessary that scene graph is played up, and for purposes of the invention, choose earlier and could determine scene graph, just can carry out the stack that the DEM elevation changes to LOD; So the selection of LOD is 2.2) in finish;
2.4) scene graph play up traversal: the LOD that needs are played up uses GPU to finish final rendering.
7. the DEM dynamic and visual accelerated method based on CUDA as claimed in claim 6 is characterized in that described data pre-service comprises:
The raw data of cutting is divided into dem data and thematic data; The result of cutting is LOD, tile DEM, tile thematic data; Have hierarchical structure between the LOD, the corresponding different display resolution of different levels LOD, the LOD of each level is divided into a plurality of small documents, and the represented graticule mesh number of each small documents is identical; The tile data are not had a hierarchical structure, only big file division are become the identical file of size, the geographic range of each small documents correspondence, and the scope corresponding with file among the bottom LOD is identical; In the distributed data pre-service, as server, be a plurality of client allocating tasks with a computing machine.
8. the DEM dynamic and visual accelerated method based on CUDA as claimed in claim 6 is characterized in that, described DEM elevation change calculations comprises:
The DEM elevation changes and carries out in order following three steps: 1) elevation change calculations; 2) the total change calculations of elevation; 3) new DEM elevation calculates; This three step needn't finish before upgrading traversal, can travel through executed in parallel with renewal, but be the correctness that guarantees to calculate, before in upgrading traversal, carrying out the variation of LOD stack elevation, finish " 1) DEM elevation change calculations " with the corresponding tile of LOD, will finish sometimes " 2) the total change calculations of elevation ".
9. the DEM dynamic and visual accelerated method based on CUDA as claimed in claim 6 is characterized in that, the renewal traversal of scene graph comprised for two steps:
The first step: the hierarchical structure of utilizing scene graph, select the LOD that needs demonstration efficiently, implementation method is: scene graph is organized LOD with the form stratification of quaternary tree, the LOD of a low resolution, to the high-resolution slightly LOD of 4 same geographic ranges should be arranged, with the child node of these 4 LOD as low resolution LOD; And by that analogy, these 4 LOD also will have the child node of oneself; If the LOD of low resolution is not in indication range, then corresponding high-resolution LOD needn't repeat to judge also scarcely in indication range;
Second step: use CUDA that the DEM elevation is changed on the LOD that needs dynamically to show that is added to, implementation method is: each node of scene graph is embodied as the LOD node that can call the CUDA function, hereinafter to be referred as the CUDA-LOD node; The CUDA-LOD node comprises computing function and quoting computational resource for the LOD node has increased a computing module in the computing module; The CUDA-LOD node allows computing module that the resource of this node and all child nodes thereof is conducted interviews, and will carry out the computing function in the computing module when node updates travels through, and computing function calls the CUDA kernel function and finishes parallel computation; Because the CUDA-LOD resolution difference of different levels, net point wherein is not corresponding one by one with the elevation delta data of tile DEM, but has mapping relations, need realize these mapping relations in computing function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101949673A CN103268342A (en) | 2013-05-21 | 2013-05-21 | DEM dynamic visualization accelerating system and method based on CUDA |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101949673A CN103268342A (en) | 2013-05-21 | 2013-05-21 | DEM dynamic visualization accelerating system and method based on CUDA |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103268342A true CN103268342A (en) | 2013-08-28 |
Family
ID=49011971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101949673A Pending CN103268342A (en) | 2013-05-21 | 2013-05-21 | DEM dynamic visualization accelerating system and method based on CUDA |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103268342A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335804A (en) * | 2014-08-06 | 2016-02-17 | 北京计算机技术及应用研究所 | Community health service system |
CN106504325A (en) * | 2016-10-25 | 2017-03-15 | 武汉大学 | A kind of DEM feature point extraction parallel methods based on CUDA |
CN106570049A (en) * | 2016-08-20 | 2017-04-19 | 合肥国为电子有限公司 | Method and system of quickly drawing large data volume of curves in geological exploration |
CN109934917A (en) * | 2019-02-28 | 2019-06-25 | 武汉大学 | Predict that the parallelization point cloud for calculating intensity generates DEM method based on machine learning |
CN110276820A (en) * | 2019-06-24 | 2019-09-24 | 重庆梅安森科技股份有限公司 | GIS model optimization method and system based on LOD tissue and dispatching method |
CN110738721A (en) * | 2019-10-12 | 2020-01-31 | 四川航天神坤科技有限公司 | Three-dimensional scene rendering acceleration method and system based on video geometric analysis |
CN111105492A (en) * | 2019-12-18 | 2020-05-05 | 四川大学 | Rapid scheduling method for tile elevation data in terrain smoothing process |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764744A2 (en) * | 2005-09-20 | 2007-03-21 | Leica Geosystems Geospatial Imaging, LLC | Streaming geometry data using a quasi-pyramidal structure |
CN102880509A (en) * | 2012-09-17 | 2013-01-16 | 北京大学 | Compute unified device architecture (CUDA) based grid digital elevation model (DEM) neighborhood analysis system and method |
-
2013
- 2013-05-21 CN CN2013101949673A patent/CN103268342A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1764744A2 (en) * | 2005-09-20 | 2007-03-21 | Leica Geosystems Geospatial Imaging, LLC | Streaming geometry data using a quasi-pyramidal structure |
CN102880509A (en) * | 2012-09-17 | 2013-01-16 | 北京大学 | Compute unified device architecture (CUDA) based grid digital elevation model (DEM) neighborhood analysis system and method |
Non-Patent Citations (3)
Title |
---|
SIMIN YOU 等: "Constructing Natural Neighbor Interpolation Based Grid DEM Using CUDA", 《PROCEEDING OF THE 3RD INTERNATIONAL CONFERENCE ON COMPUTING FOR GEOSPATIAL RESEARCH AND APPLICATIONS》, 1 July 2012 (2012-07-01) * |
范国忠 等: "基于CUDA和DEM数据的地杂波快速仿真", 《现代雷达》, vol. 32, no. 9, 30 September 2010 (2010-09-30) * |
葛子厚: "基于GPU动态误差度量的大规模地形绘制方法", 《中国博士学位论文全文数据库·信息科技辑》, no. 10, 15 October 2012 (2012-10-15) * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335804A (en) * | 2014-08-06 | 2016-02-17 | 北京计算机技术及应用研究所 | Community health service system |
CN106570049A (en) * | 2016-08-20 | 2017-04-19 | 合肥国为电子有限公司 | Method and system of quickly drawing large data volume of curves in geological exploration |
CN106570049B (en) * | 2016-08-20 | 2019-11-01 | 合肥国为电子有限公司 | The curve QuickDraw method and its system of big data quantity in a kind of geological prospecting |
CN106504325A (en) * | 2016-10-25 | 2017-03-15 | 武汉大学 | A kind of DEM feature point extraction parallel methods based on CUDA |
CN106504325B (en) * | 2016-10-25 | 2018-02-02 | 武汉大学 | A kind of DEM feature point extraction parallel methods based on CUDA |
CN109934917A (en) * | 2019-02-28 | 2019-06-25 | 武汉大学 | Predict that the parallelization point cloud for calculating intensity generates DEM method based on machine learning |
CN109934917B (en) * | 2019-02-28 | 2023-05-16 | 武汉大学 | Parallelization point cloud generation DEM method based on machine learning prediction computation strength |
CN110276820A (en) * | 2019-06-24 | 2019-09-24 | 重庆梅安森科技股份有限公司 | GIS model optimization method and system based on LOD tissue and dispatching method |
CN110276820B (en) * | 2019-06-24 | 2022-12-23 | 重庆梅安森科技股份有限公司 | GIS model optimization method and system based on LOD organization and scheduling method |
CN110738721A (en) * | 2019-10-12 | 2020-01-31 | 四川航天神坤科技有限公司 | Three-dimensional scene rendering acceleration method and system based on video geometric analysis |
CN110738721B (en) * | 2019-10-12 | 2023-09-01 | 四川航天神坤科技有限公司 | Three-dimensional scene rendering acceleration method and system based on video geometric analysis |
CN111105492A (en) * | 2019-12-18 | 2020-05-05 | 四川大学 | Rapid scheduling method for tile elevation data in terrain smoothing process |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103268342A (en) | DEM dynamic visualization accelerating system and method based on CUDA | |
Li et al. | Multi-scale analysis of rural housing land transition under China's rapid urbanization: The case of Bohai Rim | |
Xu et al. | Combining IFC and 3D tiles to create 3D visualization for building information modeling | |
Huang et al. | Explorations of the implementation of a parallel IDW interpolation algorithm in a Linux cluster-based parallel GIS | |
US20140152664A1 (en) | Method of rendering a terrain stored in a massive database | |
Xiong et al. | Will the land supply structure affect the urban expansion form? | |
CN108804602A (en) | A kind of distributed spatial data storage computational methods based on SPARK | |
CN104657436A (en) | Static tile pyramid parallel building method based on MapReduce | |
CN102122395A (en) | Adaptive scale DEM (digital elevation model) modeling method capable of keeping terrain features | |
CN110134752A (en) | Three-dimensional large scene modeling data processing method and processing device | |
CN113722314B (en) | Space connection query method and device, electronic equipment and storage medium | |
CN114972664B (en) | Integrated management method for urban full-space three-dimensional model data | |
CN104200044A (en) | GIS (geographic information system)-based three-dimensional power transmission line path selection method | |
Song et al. | Parallel viewshed analysis on a PC cluster system using triple-based irregular partition scheme | |
Nguyen et al. | B-EagleV: visualization of big point cloud datasets in civil engineering using a distributed computing solution | |
Roberts et al. | Dynamic load balancing for predictions of storm surge and coastal flooding | |
Nunna et al. | Understanding the impact of tourism on spatial growth for sustainable development of tourist destinations through the measure of land use efficiency | |
CN111061729B (en) | Granularity-considered vector tile organization method | |
Arce Acuña et al. | Tree-based mesh-refinement GPU-accelerated tsunami simulator for real-time operation | |
Ma et al. | Projecting high resolution population distribution using Local Climate Zones and multi-source big data | |
CN103150616A (en) | Digging method for distribution characteristics of prehistoric settlement site | |
WO2015034464A1 (en) | Global grid building in reverse faulted areas by an optimized unfaulting method | |
Qiao et al. | A rapid visualization method of vector data over 3D terrain | |
Vo et al. | A parallel algorithm for local point density index computation of large point clouds | |
CN101908062A (en) | Method for judging predicates in GIS (Geographic Information System) space and system thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130828 |