1.

Record Nr.

UNINA9910431352503321

Autore

Langevin D (Dominique), <1947->

Titolo

Emulsions, microemulsions and foams / / Dominique Langevin

Pubbl/distr/stampa

Cham, Switzerland : , : Springer, , [2020]

©2020

ISBN

3-030-55681-6

Edizione

[1st ed. 2020.]

Descrizione fisica

1 online resource (XIV, 344 p. 137 illus., 17 illus. in color.)

Collana

Soft and Biological Matter, , 2213-1736

Disciplina

660.294514

Soggetti

Emulsions

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di contenuto

Common background -- Microemulsions -- Emulsions and foams -- Similarities, differences between emulsions and foams, emulsions and microemulsions -- Industrial applications.

Sommario/riassunto

This book takes an interface science approach to describe and understand the behavior of the dispersions we call emulsions, microemulsions and foams. The one thing all these dispersions have in common is the presence of surface-active species (surfactants) adsorbed at the interfaces between the two fluid phases that make up the emulsions, microemulsions or foams. The interfacial layers formed by the surfactants control most of the properties of the dispersions. The book describes the properties of interfacial layers, thin films and bulk fluids used in the elaboration of the various dispersions and it explains how such properties relate to the dispersion properties of these soft matter systems: structure, rheology and stability. These dispersions properties are far from being fully understood, in particular foam and emulsion stability. In discussing the state of the art of the current knowledge, the author draws interesting parallels between emulsions, microemulsions and foams that enlighten the interpretation of previous observations and point to a deeper understanding of the behavior of these materials in the future.



2.

Record Nr.

UNINA9910790838903321

Autore

Suh Jung W

Titolo

Accelerating MATLAB with GPU computing : a primer with examples / / Jung W. Suh, Youngmin Kim

Pubbl/distr/stampa

Waltham, MA : , : Morgan Kaufmann, an imprint of Elsevier, , 2014

ISBN

0-12-407916-4

Edizione

[First edition.]

Descrizione fisica

1 online resource (x, 248 pages) : illustrations (some color)

Collana

Gale eBooks

Disciplina

518.0285

Soggetti

Graphics processing units

Numerical analysis - Data processing

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Description based upon print version of record.

Nota di bibliografia

Includes bibliographical references and index.

Nota di contenuto

Front Cover; Accelerating MATLAB with GPU Computing; Copyright Page; Contents; Preface; Target Readers and Contents; Directions of this Book; GPU Utilization Using c-mex Versus Parallel Computing Toolbox; Tutorial Approach Versus Case Study Approach; CUDA Versus OpenCL; 1 Accelerating MATLAB without GPU; 1.1 Chapter Objectives; 1.2 Vectorization; 1.2.1 Elementwise Operation; 1.2.2 Vector/Matrix Operation; 1.2.3 Useful Tricks; 1.3 Preallocation; 1.4 For-Loop; 1.5 Consider a Sparse Matrix Form; 1.6 Miscellaneous Tips; 1.6.1 Minimize File Read/Write Within the Loop

1.6.2 Minimize Dynamically Changing the Path and Changing the Variable Class 1.6.3 Maintain a Balance Between the Code Readability and Optimization; 1.7 Examples; 2 Configurations for MATLAB and CUDA; 2.1 Chapter Objectives; 2.2 MATLAB Configuration for c-mex Programming; 2.2.1 Checklists; 2.2.1.1 C/C++ Compilers; 2.2.1.2 NVIDIA CUDA Compiler nvcc; 2.2.2 Compiler Selection; 2.3 "Hello, mex!" using C-MEX; 2.3.1.1 Summary; 2.4 CUDA Configuration for MATLAB; 2.4.1 Preparing CUDA Settings; 2.5 Example: Simple Vector Addition Using CUDA; 2.5.1.1 Summary; 2.6 Example with Image Convolution

2.6.1 Convolution in MATLAB 2.6.2 Convolution in Custom c-mex; 2.6.3 Convolution in Custom c-mex with CUDA; 2.6.4 Brief Time Performance Profiling; 2.7 Summary; 3 Optimization Planning through Profiling; 3.1 Chapter Objectives; 3.2 MATLAB Code Profiling to Find



Bottlenecks; 3.2.1 More Accurate Profiling with Multiple CPU Cores; 3.3 c-mex Code Profiling for CUDA; 3.3.1 CUDA Profiling Using Visual Studio; 3.3.2 CUDA Profiling Using NVIDIA Visual Profiler; 3.4 Environment Setting for the c-mex Debugger; 4 CUDA Coding with c-mex; 4.1 Chapter Objectives; 4.2 Memory Layout for c-mex

4.2.1 Column-Major Order 4.2.2 Row-Major Order; 4.2.3 Memory Layout for Complex Numbers in c-mex; 4.3 Logical Programming Model; 4.3.1 Logical Grouping 1; 4.3.2 Logical Grouping 2; 4.3.3 Logical Grouping 3; 4.4 Tidbits of GPU; 4.4.1 Data Parallelism; 4.4.2 Streaming Processor; 4.4.3 Steaming Multiprocessor; 4.4.4 Warp; 4.4.5 Memory; 4.5 Analyzing Our First Naïve Approach; 4.5.1 Optimization A: Thread Blocks; 4.5.2 Optimization B; 4.5.3 Conclusion; 5 MATLAB and Parallel Computing Toolbox; 5.1 Chapter Objectives; 5.2 GPU Processing for Built-in MATLAB Functions; 5.2.1 Pitfalls in GPU Processing

5.3 GPU Processing for Non-Built-in MATLAB Functions 5.4 Parallel Task Processing; 5.4.1 MATLAB Worker; 5.4.2 parfor; 5.5 Parallel Data Processing; 5.5.1 spmd; 5.5.2 Distributed and Codistributed Arrays; 5.5.3 Workers with Multiple GPUs; 5.6 Direct use of CUDA Files without c-mex; 6 Using CUDA-Accelerated Libraries; 6.1 Chapter Objectives; 6.2 CUBLAS; 6.2.1 CUBLAS Functions; 6.2.2 CUBLAS Matrix-by-Matrix Multiplication; 6.2.2.1 Step 1; 6.2.2.2 Step 2; 6.2.2.3 Step 3; 6.2.2.4 Step 4; 6.2.2.5 Step 5; 6.2.2.6 Step 6; 6.2.2.7 Step 7; 6.2.2.8 Step 8; 6.2.2.9 Step 9

6.2.3 CUBLAS with Visual Profiler

Sommario/riassunto

Beyond simulation and algorithm development, many developers increasingly use MATLAB even for product deployment in computationally heavy fields. This often demands that MATLAB codes run faster by leveraging the distributed parallelism of Graphics Processing Units (GPUs). While MATLAB successfully provides high-level functions as a simulation tool for rapid prototyping, the underlying details and knowledge needed for utilizing GPUs make MATLAB users hesitate to step into it. Accelerating MATLAB with GPUs offers a primer on bridging this gap.    Starting with the basics, setting