隋京兆长安(今陕西西安)人。北周时以战功拜上仪同。复从韦孝宽破慰迟迥于相州。入隋,进位大将军,历甘、瓜二州刺史。仁寿二年(602),因杨素荐,为交州道行军总管,进军龙编(在今越南河内东北)一带,迫使反隋的俚帅李佛子投降。四年,被任为灌州道行军总管,进攻林邑(今越南中南部)。大业元年(605)破其国都。回国时病死途中。