data analysis & visualization

파랑 : 바람에 의해 발생한 풍랑과 너울을 종합적으로 이르는 말

 - 파고(wave height), 파장(wave length), 주기(wave period)로 구분

 - 바람이 강하게 불 때는 풍랑과 너울을 구분하기 힘듬.

 

풍랑 : 해상에서 바람에 의해 발생하는 파도를 의미

- 바다에서 바람이 해수면 위를 지속적으로 불 때 발생

 

너울 : 풍랑이 바람이 부는 지역을 벗어나 더 이상 발달하지 않고 감쇄하는 형식의 파도를 의미

 

 

 

 

파랑의 특성

 

바람이 막 불기 시작하면 짧은 주기의 표면파, 파고가 높아지면 장주기의 파로 변환

풍랑의 마루는 뾰족한 편이며 파장과 주기가 짧다는 특징을 지님.

 

파고(wave height) : 파곡에서 파봉에 이르는 연직거리를 의미

파장(wave length) : 파봉에서 파봉, 혹은 파곡에서 파곡에 이르는 거리

주기(wave period) : 파봉에서 파봉, 혹은 파곡에서 파곡이 한 지점을 통과하는 시간

파속(wave celerity, wave speed) : 파장을 주기로 나눈 속도

 

유의파고 : 임의 시간동안 발생한 파고 중 파고가 높은 순서로 1/3에 해당하는 것까지의 파고들의 평균을 의미

 

참고

https://www.kiost.ac.kr/cop/bbs/BBSMSTR_000000000391/selectBoardArticle.do?nttId=18459&pageIndex=1&mno=sitemap_12&searchCnd=&searchWrd=

 

KIOST

KIOST는 과학기술로 바다를 재창조해 나갑니다.

www.kiost.ac.kr

 

https://kalchi09.tistory.com/entry/%ED%95%B4%ED%8C%8C%ED%8C%8C%EB%8F%84%EC%9D%98-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EC%A2%85%EB%A5%98

 

해파(파도)의 여러가지 종류

고등학교 교육과정에서 다루는 해파는 천해파와 심해파이다. 그리고 파가 발달하고 소멸하는 과정을 기준으로하여 풍랑, 너울, 연안쇄파 정도를 배운다. 그런데 해파에는 이것밖에 없을까? 아��

kalchi09.tistory.com

 

 

'그 외' 카테고리의 다른 글

병렬 프로그래밍 용어 정리  (0) 2020.06.11
인터넷 속도 올리기  (0) 2020.02.01
[R] 재미삼아 푸는 문제  (0) 2020.01.15
지도 그림 그리기 예제  (0) 2019.11.11
[주식] 키움 영웅문 통한 주식 자료다운로드  (0) 2019.11.11

 

 

 

 

병렬 프로그래밍

병렬처리가 가능한 경우

  • 서로 영향을 미치지 않는 경우 병렬처리가 불가능한 경우
  • 직렬적 연산이 필요한 경우

병렬처리의 종류

  • Thread나 Core를 통한 병렬 프로그래밍
  • GPGPU를 통한 병렬 프로그래밍
  • Process 병렬 프로그래밍(여러 컴퓨터 개념)

SIMD(Single Instruction Multiple Data)

  • 하나의 명령어로 여러개의 값을 동시에 계산하는 방식

SISD(Single Instruction Single Data)

  • 한 프로세서가 한번에 하나의 명령어를 처리할 때 하나의 메모리에 저장되어 있는 한 데이터를 이용하여 처리하는 것 (https://ko.wikipedia.org/wiki/SISD)

MISD(Multiple Instruction Single Data)

  • 각기 다른 명령어를 처리하는 처리부 여러개가 동일한 데이터를 처리하는 병렬 컴퓨팅 아키텍쳐를 의미.

MIMD(Multiple Instruction Multiple Data)

  • 공유메모리나 분산메모리에 해당

Python에서는?

Thread 기반 병렬 프로그램

  • OpenMP
  • pthreads
  • Parallel Pattern Library Process 기반
  • MPI
  • HPF
  • PVM GPGPU 기반
  • CUDA
  • openCV

CUDA

  • GTX 이후 생산되는 GPU를 의미함.
  • Geforce : 일반적인 그래픽카드
  • Quadro : 고성능 그래픽 작업전용
  • Tesla : 그래픽 기능 없이 고성능 연산 전용

CPU와 GPU의 Transistor

CUDA 병렬처리의 용어

  • Kernel : GPU에서 병렬 실행되는 명령어의 모음
  • Thread : Kernel 함수등이 호출되었을 때 실제로 업무를 수행하는 최소단위. 멀티프로세서 내에서 작동되는 코어 하나
  • Block : 작업단위(SM)를 의미하며 하나의 멀티 프로세서에서 작동되는 스레드의 모음을 의미. 쓰레드가 마치 원소로 구성된 어레이처럼 다차원 구성 가능
  • Grid : Block 의 집합
  • Warp : 작업단위 내에서 동시 실행 가능한 Thread의 개수(ex 32개 쓰레드 들을 단위로 묶은 것)
  • Registor : On Chip Processor에 있는 Memory로 가장 빠른 메모리. 커널함수에서 로컬 변수를 많이 사용할 수록 사용량이 증가.
  • Shared Memory : On Chip Processor에 있는 Memory, SM 내의 Thread들이 공유(중요), L1 캐시급 속도
  • Global Memory : GPU에 장착된 DRAM, GPU 칩 외부에 존제하여 속도는 느린편이지만 CPU보다는 상당히 빠르다. READ/Write : 400~ 600 Cycles
  • Constant Memory(64KB) : DRAM에 있는 데이터를 읽기전용 캐시를 지원,글로벌 메모리처럼 모든 스레드가 공유 , Write( from DRAM) :400~ 600 Cycles, Read : Registor와 동급
  • Texture Memory : 캐시 읽기를 지원하는 Gloval Memory

CUDA 스트리밍

  • 연산속도에 비해 Host DRAM과 GPU DRAM의 데이터 전송 속도가 느림
  • 큰 데이터를 가공할 경우 연산시간보다 DATA전송시간의 비중이 커짐
  • DATA전송 및 연산시간을 작은 단위로 나누어 순차적으로 진행

CUDA Library

  • cuRAND : 랜덤 수 생성
  • cuFFT(CUDA Fast Fourier Transform Library) : FFT 연산 라이브러리
  • CUBLAS(CUDA Basic Linear Algebra Subroutines library) : 선형대수 연산 라이브러리

커널함수 : CPU에 의해 호출되 GPU에서 실행

Device 함수 : GPU에서 실행 Host 함수 : CPU에서 실행

example

  • Beam Pattern 생성
  • cubic Spline Interpolation : 병렬화는 가능하나 Sequential 에 비해 검색시간이 느림(실패)
  • 라즈베리파이, 비트코인
 

헤테로 지니어스 컴퓨팅

  • 한가지 이상의 프로세서를 내장한 시스템
  • CPU는 복잡하고 선형적인 작업에 효율적, GPU는 병렬화 가능한 반복작업에 효율적
In [ ]:
 

'그 외' 카테고리의 다른 글

파랑, 풍랑 그리고 너울  (0) 2020.08.03
인터넷 속도 올리기  (0) 2020.02.01
[R] 재미삼아 푸는 문제  (0) 2020.01.15
지도 그림 그리기 예제  (0) 2019.11.11
[주식] 키움 영웅문 통한 주식 자료다운로드  (0) 2019.11.11

gpedit.msc

혹시 실행이 안되면 아래 파일 실행

gpedit.bat
0.00MB

 

컴퓨터구성>관리템플릿>네트워크>QoS패킷 스케줄러

 

 

예약대역폭 제한 클릭

 

아래와 같이 변경

 

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

확인

###연습 문제 4
#for 반복문과 문자열 연산, if 조건문을 사용하여 다음과 같이 인쇄한다.
  #      * 
  #     ***
  #    *****
  #   *******
  #  *********
  # ***********
  #  *********
  #   *******
  #    *****
  #     ***
  #      *

 

 

답안

 



#case 1
 for(t in c(0:4,5:0)){
  k=paste0(rep(' ',11),collapse = '')
  substr(k,6-3,6+3)=paste0(rep('*',seq(1,11,2)[3+1]),collapse = '')
  print(k)
}

#case 2
t=-5:5
for(tt in c(0:4,5:0)){
  k=rep(' ',11)
  k[abs(t)<=tt]='*'
  print(paste0(k,collapse = ''))
}

#case 3

 

t=-5:5;k=0
for(k in c(0:5,4:0))
print(paste0(
  paste0(paste0(rep(' ',abs(t)[1]-k),collapse = ''),paste0(rep('*',k),collapse = ''),collapse = ''),'*',
  paste0(paste0(rep('*',k),collapse = ''),paste0(rep(' ',abs(t)[1]-k),collapse = ''),collapse = '')
))

 

#case 4

 

for(t in -5:5){
  temp=rep(' ',abs(t))
  while(length(temp)<5){
    temp=c(temp,'*')
  }
  print(paste0(c(paste0(temp,collapse =''),'*',paste0(rev(temp),collapse ='')),collapse = ''))
}