• 제목/요약/키워드: Programming error

검색결과 273건 처리시간 0.026초

최적화된 CUDA 소프트웨어 제작을 위한 프로그래밍 기법 분석 (Analysis of Programming Techniques for Creating Optimized CUDA Software)

  • 김성수;김동헌;우상규;임인성
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권7호
    • /
    • pp.775-787
    • /
    • 2010
  • GPU(Graphics Processing Unit)는 범용 CPU와는 달리 다수코어 스트리밍 프로세서(manycore streaming processor) 형태로 특화되어 발전되어 왔으며, 최근 뛰어난 병렬 처리 연산 능력으로 인하여 점차 많은 영역에서 CPU의 역할을 대체하고 있다. 이러한 추세에 따라 최근 NVIDIA 사에서는 GPGPU(General Purpose GPU) 아키텍처인 CUDA(Compute Unified Device Architecture)를 발표하여 보다 유연한 GPU 프로그래밍 환경을 제공하고 있다. 일반적으로 CUDA API를 사용한 프로그래밍 작업시 GPU의 계산구조에 관한 여러 가지 요소들에 대한 특성을 정확히 파악해야 효율적인 병렬 소프트웨어를 개발할 수 있다. 본 논문에서는 다양한 실험과 시행착오를 통하여 획득한 CUDA 프로그래밍에 관한 최적화 기법에 대하여 설명하고, 그러한 방법들이 프로그램 수행의 효율에 어떠한 영향을 미치는지 알아본다. 특히 특정 예제 문제에 대하여 효과적인 계층 구조 메모리의 접근과 코어 활성화 비율(occupancy), 지연 감춤(latency hiding) 등과 같이 성능에 영향을 미치는 몇 가지 규칙을 실험을 통해 분석해봄으로써, 향후 CUDA를 기반으로 하는 효과적인 병렬 프로그래밍에 유용하게 활용할 수 있는 구체적인 방안을 제시한다.

리눅스 기반 프로그래밍 언어의 온라인 학습 시스템 구성에 관한 연구 (A study on the On-line Teaching system for Linux-based Programming Language)

  • 전호익;이현창
    • 한국소프트웨어감정평가학회 논문지
    • /
    • 제17권1호
    • /
    • pp.67-73
    • /
    • 2021
  • 본 논문에서는 리눅스 기반 프로그래밍 언어를 온라인으로 실습할 수 있는 시스템의 구성 방법을 제시하였다. 제시한 시스템은 리눅스 운영체제의 가장 큰 특징인 웹-서버 기능을 활용하며, 방화벽이나 기타 보안적 제약을 받지 않으면서 telnet과 FTP 기능을 모사하여 실제 리눅스 콘솔과 유사한 실습이 가능하다. 이를 위해 웹 상에서 프로그래밍 도구가 가져야 할 기능적 요소들을 분석하고 이를 구현하기 위한 알고리즘을 정립하였으며, 특히 사용자의 실수에 의한 오류 메시지 등이 실재 telnet 화면과 동일한 형태로 나타날 수 있는 방법을 구현하였다. 구현된 학습 시스템을 학생들을 대상으로 수업에 활용한 결과 온라인으로 리눅스 프로그래밍 언어의 실습이 가능함은 물론 교수자가 학습자들의 모든 사항들을 직접 점검하고 지도할 수 있어 학습자의 만족도가 오프라인 수업 때와 유사한 결과를 확인하였다.

Error Recovery Script of Immunity Debugger for C# .NET Applications

  • Shinde, Rupali;Choi, Min;Lee, Su-Hyun
    • Journal of Information Processing Systems
    • /
    • 제15권6호
    • /
    • pp.1438-1448
    • /
    • 2019
  • We present a new technique, called VED (very effective debugging), for detecting and correcting division by zero errors for all types of .NET application. We use applications written in C# because C# applications are distributed through the internet and its executable format is used extensively. A tool called Immunity Debugger is used to reverse engineer executable code to get binaries of source code. With this technique, we demonstrate integer division by zero errors, the location of the error causing assembly language code, as well as error recovery done according to user preference. This technique can be extended to work for other programming languages in addition to C#. VED can work on different platforms such as Linux. This technique is simple to implement and economical because all the software used here are open source. Our aims are to simplify the maintenance process and to reduce the cost of the software development life cycle.

Penalized maximum likelihood estimation with symmetric log-concave errors and LASSO penalty

  • Seo-Young, Park;Sunyul, Kim;Byungtae, Seo
    • Communications for Statistical Applications and Methods
    • /
    • 제29권6호
    • /
    • pp.641-653
    • /
    • 2022
  • Penalized least squares methods are important tools to simultaneously select variables and estimate parameters in linear regression. The penalized maximum likelihood can also be used for the same purpose assuming that the error distribution falls in a certain parametric family of distributions. However, the use of a certain parametric family can suffer a misspecification problem which undermines the estimation accuracy. To give sufficient flexibility to the error distribution, we propose to use the symmetric log-concave error distribution with LASSO penalty. A feasible algorithm to estimate both nonparametric and parametric components in the proposed model is provided. Some numerical studies are also presented showing that the proposed method produces more efficient estimators than some existing methods with similar variable selection performance.

反復 學習槪念을 利용한 두 臺의 로봇의 衝突回避 軌跡計劃 (Collision-Free Trajectory Planning for Dual Robot Arms Using Iterative Learning Concept)

  • 정낙영;서일홍;최동훈
    • 대한기계학회논문집
    • /
    • 제15권1호
    • /
    • pp.69-77
    • /
    • 1991
  • 본 연구에서는 주로 약결합된 경우의 다로봇시스템에 대한 효과적인 운동조정 법을 개발하였다. 약결합된 경우의 다로봇시스템은 아크용접, 분사 도료, 금속면의 디버링, 복잡한 조립작업, 검사등 수많은 작업에 투입될 수 있다.그와 같은 작업들 은 대부분 연적경로제어(continuous path control)방법을 요구하고 있는데 다로봇시스 템인 경우 작업대 주위의 정지 혹은 이동 장애물이나 제로봇상호간의 충격포험성을 해 결할 수 있는 효과적인 장애물회피 능력을 추가적으로 요구하고 있다. 그리고 연적 경로제어 형태의 거의 대부분의 첨단부의 속도를 정속도로 유지해주어야만 한다. 따 라서 모든 로봇들을 지정된 경로의 이탈없이 가능한 최대등속도로 운동시키기 위한 다 로봇시스템의 충격회피운동제어 알고리즘을 개발하게되었다.

마이크로소프트의 차세대 암호 라이브러리 구조에 관한 연구 및 오류-검출 도구 구현 (An Analysis of a Structure and Implementation of Error-Detection Tool of Cryptography API-Next Generation(CNG) in Microsoft)

  • 이경률;유일선;임강빈
    • 정보보호학회논문지
    • /
    • 제26권1호
    • /
    • pp.153-168
    • /
    • 2016
  • 본 논문은 마이크로소프트사의 CAPI를 대체하기 위하여 제안된 CNG의 구조와 특징, 프로그래밍 기법을 분석하였다. CNG는 플러그인 구조 기반의 독립된 모듈들로 구성되어 있기 때문에 구현해야 할 함수 및 기능의 범위를 최소화할 수 있어 개발비용과 확장 용이성 부분에서 CNG의 우수성을 잘 설명하고 있다. 또한, 확장성과 함께 최신의 암호화 알고리즘 및 감사 기능, 커널 모드 지원이 기업 및 공공기관 등의 환경에서 핵심 암호화 서비스로의 역할을 할 수 있게 한다. 따라서 이러한 기능들을 기반으로 기업과 공공기관이 조직 고유의 보안 요구사항에 맞게 CNG를 확장할 수 있도록 CNG 암호 라이브러리 구조에 대하여 분석하였다. 또한, 분석 결과를 기반으로 CNG 라이브러리를 활용하는 프로그램의 오류를 검출하기 위한 도구를 구현하였다.

Optimal Design of Robust Quantitative Feedback Controllers Using Linear Programming and Genetic Algorithms

  • Bokharaie, Vaheed S.;Khaki-Sedigh, Ali
    • 제어로봇시스템학회:학술대회논문집
    • /
    • 제어로봇시스템학회 2003년도 ICCAS
    • /
    • pp.428-432
    • /
    • 2003
  • Quantitative Feedback Theory (QFT) is one of most effective methods of robust controller design and can be considered as a suitable method for systems with parametric uncertainties. Particularly it allows us to obtain controllers less conservative than other methods like $H_{\infty}$ and ${\mu}$-synthesis. In QFT method, we transform all the uncertainties and desired specifications to some boundaries in Nichols chart and then we have to find the nominal loop transfer function such that satisfies the boundaries and has the minimum high frequency gain. The major drawback of the QFT method is that there is no effective and useful method for finding this nominal loop transfer function. The usual approach to this problem involves loop-shaping in the Nichols chart by manipulating the poles and zeros of the nominal loop transfer function. This process now aided by recently developed computer aided design tools proceeds by trial and error and its success often depends heavily on the experience of the loop-shaper. Thus for the novice and First time QFT user, there is a genuine need for an automatic loop-shaping tool to generate a first-cut solution. In this paper, we approach the automatic QFT loop-shaping problem by using an algorithm involving Linear Programming (LP) techniques and Genetic Algorithm (GA).

  • PDF

도메인객체의 일관성 있는 참조를 위한 연관정보 관리 서비스 (A Relationship Management Service for Consistent References Between Domain Objects)

  • 최윤석
    • 인터넷정보학회논문지
    • /
    • 제8권4호
    • /
    • pp.129-136
    • /
    • 2007
  • 엔터프라이즈 아키텍처 패턴 중 하나인 도메인모델은 재사용성 및 확장성, 그리고 유지보수에 많은 장점을 갖고 있다. 도메인모델을 적용하기 위해서는 지속성계층과의 매핑 및 트랜잭션 관리를 위한 다양한 서비스가 필요하다. 본 논문에서는 도메인모델을 적용하여 개발한 시스템에서 도메인객체의 삭제 트랜잭션 처리 시 발생할 수 있는 참조의 일관성 오류 문제를 해결하기 위해 도메인객체의 연관정보를 관리하는 서비스를 제안한다. 제안한 연관정보 관리 서비스는 다대다 연관을 맺고 있는 도메인객체를 모니터링 하고 수행흐름을 가로채어 삭제 시 발생하는 객체의 참조 오류를 해결한다. 도메인객체 및 기존 서비스의 수정 없이 서비스를 제공하기 위해 AOP(Aspect-Oriented Programming)를 적용하였다.

  • PDF

C++11 멀티스레드 프로그래밍을 위한 Lock-Free shared_ptr와 weak_ptr의 구현 (Implementation of Lock-Free shared_ptr and weak_ptr for C++11 multi-thread programming)

  • 구태균;정내훈
    • 한국게임학회 논문지
    • /
    • 제21권1호
    • /
    • pp.55-66
    • /
    • 2021
  • 고성능이 요구되는 게임 프로그래밍에서 멀티스레드 프로그래밍은 필수이다. 하지만 널리 사용되는 C++11의 shared_ptr와 weak_ptr는 멀티스레드 환경에서 오작동 및 성능 문제를 가지고 있다. 본 논문에서는 기존의 오작동 방지 방법보다 높은 성능을 가지는 Lock-Free shared_ptr와 weak_ptr를 제안한다. 제안하는 두 객체는 논블로킹 알고리즘을 이용하여 멀티스레드에서의 데이터 레이스를 방지하였으며, 8스레드 환경에서 실험한 결과 스레드 사이의 경쟁이 낮은 상황에서 기존의 방법보다 최대 7424% 향상되었고, 경쟁이 높은 상황에서 최대 3767% 향상된 성능을 보여준다.

Improved Dynamic Programming in Local Linear Approximation Based on a Template in a Lightweight ECG Signal-Processing Edge Device

  • Lee, Seungmin;Park, Daejin
    • Journal of Information Processing Systems
    • /
    • 제18권1호
    • /
    • pp.97-114
    • /
    • 2022
  • Interest is increasing in electrocardiogram (ECG) signal analysis for embedded devices, creating the need to develop an algorithm suitable for a low-power, low-memory embedded device. Linear approximation of the ECG signal facilitates the detection of fiducial points by expressing the signal as a small number of vertices. However, dynamic programming, a global optimization method used for linear approximation, has the disadvantage of high complexity using memoization. In this paper, the calculation area and memory usage are improved using a linear approximated template. The proposed algorithm reduces the calculation area required for dynamic programming through local optimization around the vertices of the template. In addition, it minimizes the storage space required by expressing the time information using the error from the vertices of the template, which is more compact than the time difference between vertices. When the length of the signal is L, the number of vertices is N, and the margin tolerance is M, the spatial complexity improves from O(NL) to O(NM). In our experiment, the linear approximation processing time was 12.45 times faster, from 18.18 ms to 1.46 ms on average, for each beat. The quality distribution of the percentage root mean square difference confirms that the proposed algorithm is a stable approximation.